DragonFly kernel List (threaded) for 2005-01
Re: Description of the Journaling topology
Oliver Fromme <check+i9srai00rsgior1y@xxxxxxxxxx> writes:
> Nikita Danilov <nikita@xxxxxxxxxxxxx> wrote:
> > [...]
> > Attempts to improve performance of journalling file systems in this
> > regard, mainly rotate around a cluster of (arguably very old) ideas
> > called variously "shadows" (in the data-base world), "phase trees"
> > (Tux2), and "wandering logs" (in reiser4). From little technical
> > information available on Solaris ZFS, it seems it also uses something
> > similar.
> Solaris ZFS doesn't use journalling or anything similar.
> You can read some interesting information about it here:
> And a few more things here:
> I'd like to quote one of the more interesting paragraphs,
> which presents one of the main ZFS features:
> "Solaris ZFS avoids data corruption by keeping the data on
> the disk selfconsistent at all times. It manages data using
> transaction groups that employ copy-on-write technology to
> write data to a new block on disk before changing the
> pointers to the data and committing the write. Because the
> file system is always consistent, time-consuming recovery
> procedures such as fsck are not required if the system is
> shut down in an unclean manner. Copy-on-write also enables
> administrators to take consistent backups or roll data back
> to a known point in time."
That "copy-on-write" is the thing I was alluding to. It looks very much
like phase tree used in Daniel Phillips' Tux2 file system. While not
--technically speaking-- a journalling, this is a technique commonly used
to implement transactions.