Description of the Journaling topology

Matthew Dillon dillon at apollo.backplane.com
Wed Dec 29 16:22:48 PST 2004


:I think referring to Journaling is a bit misleading as these features 
:will not help the traditional case of recovery after power loss on a 
:file system (all buffered data would be lost as it is in memory). It 
:seems to be more of an integration of transactions into the VFS layer, 
:so that the kernel will use a Transaction topology when reading/writting 
:data. I am guessing that the actual file system/remote file system will 
:do any 'journaling' and indicate when transactions are committed etc. 
:How will non-journaling file systems work? Will this inter operate with 
:anything else that is not DragonFlyBSD (if it doesn't it makes remote 
:backup less useful).
:
:Could do all of this from a user application (a lot of distributed file 
:system's work from user land I think)?

    I'm not sure I follow.  The journaling will eventually be used as part
    of the cache coherency mechanism but that isn't how it is being used
    initially.  The shortest description of what our journaling will do
    is simply that it will record every filesystem operation performed to
    a decriptor which might just happen to be a socket.  If the network
    link between the originating machine and the target machine is fast
    enough, the journal we represent a near real-time copy of the originating
    machine's filesystem.

    Filesystems do not have to be aware of this aspect of the journaling
    mechanism.  e.g. for UFS one would still (at least for now) fsck 
    normally after a crash, but one would also be able to rerun portions of
    the journal to recover any data buffered but not written to the filesystem
    at the time of the crash (if the journal's connection to the target
    machine was fast enough to get the data to the target box before the
    machine crashed).

					-Matt
					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>





More information about the Kernel mailing list