HAMMER REDO recovery now in head
Matthew Dillon
dillon at apollo.backplane.com
Fri Mar 26 00:41:02 PDT 2010
Ok, the REDO recovery code is now in head and will be part of the
2.6 release. Needless to say this is highly experimental since it
just went in, so vfs.hammer.fsync_mode is going to default to 0 for
the release.
The generation side has been in a while and is quite well tested
but the recovery code is brand new. Recovery is complex so there
are probably bugs.
The REDO fsync feature can be enabled via the vfs.hammer.fsync_mode
sysctl:
Mode 2 will issue the I/O and wait for completion, then issue a disk
synchronization command (guaranteeing the data is on the media).
Mode 3 will do the same thing but without the disk synchronization
command. Mode 3 is equivalent to what a UFS fsync() does, but
should be even faster since it also involves no seeking.
All HAMMER fsync modes are meta-data safe regardless. Basically the
way the REDO fsync modes work is that REDO information is written
immediately to the log and determines when fsync() returns,
kinda like a write-ahead-log, while the normal meta-data synch
mechanism (which always involves disk synchronization commands)
operates as if the fsync() had never occured. Thus HAMMER's disk
synchronization is no longer in the critical path.
-Matt
More information about the Users
mailing list