Subject: Re: FFS journal
To: Hubert Feyrer <email@example.com>
From: Kirill Kuvaldin <firstname.lastname@example.org>
Date: 07/05/2006 11:15:20
On 7/3/06, Hubert Feyrer <email@example.com> wrote:
> On Sun, 2 Jul 2006, Kirill Kuvaldin wrote:
> > - jffs_start_transaction():
> > - jffs_write_blocks():
> > - jffs_end_transaction():
> Can you outline where in the existing NetBSD code these functions will be
OK, I'm not quite sure but in all probability these functions will be
called from UFS and FFS
code that deals with inode and directory management (i.e. whatever we
call metadata). I don't think I can list all functions to be modified
but possible those as ufs_create(), ufs_mkdir(), ufs_rmdir(),
ufs_mknod(), ufs_remove(), ufs_rename() shall contain hooks to call
functions. I also assume that some modification to VFS layers shall be added.
> Other quesitons:
> * what's the procedure upon system startup, possibly after a crash?
The recovery is done via replaying all journal entries that were not
marked as *completed*. Thus, journal API probably shall be extended
with function (journal_replay()) for doing this.
Its call shall be hooked into ufs_mount() function.
> * where is the transaction log stored?
The transactions are stored in journal area which probably will be
represented as a standalone filesystem service (something similar to
WAFS described in Seltzer paper). However I'm still deciding what
journal location scheme to choose. Suggestions are kindly welcome.
> - Hubert