Description of the Journaling topology

Nikita Danilov nikita at
Wed Jan 5 06:45:58 PST 2005

Oliver Fromme <check+i9srai00rsgior1y at xxxxxxxxxx> writes:

> Nikita Danilov <nikita at 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.


More information about the Kernel mailing list