DragonFly users List (threaded) for 2006-08
Re: Question about journaling
:I've read the mountctl(8) and jscan(8) manpages, but
:there's one thing which I'm still not 100% certain.
:Does the journaling work on file level or on block
:level? Specifically: When I use jscan to mirror a
:file system on a remote machine, will the files have
:identical inode numbers?
:That's important for setting up a fail-over NFS cluster
:(with the master being read+write, and the slave being
:read-only, replicated with jscan). If the inode numbers
:are different, a transparent fail-over would not be
:possible ... In that case, is there are different
:solution with DragonFly BSD?
:Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
:Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
The code runs at the file level. The inode number is recorded
in the stream but the mirroring code has no ability to specify
the inode when creating new nodes on the target so the inode
number is not replicated.
Apart from that, there are still issues with any disruption that
might occur to the journaling stream. For example, if a connection
between two machines is lost. I think the restart code should work,
but it isn't as robust as I would like because the source filesystem
could end up blocking indefinitely if the journaling stream cannot be
I consider the journaling code to still be quite experimental. It is
more a placemark on how we might have to encode data updates in a
clustered system then it is an actual journaling system.