Better than POSIX?
Posted Mar 19, 2009 17:19 UTC (Thu) by anton
In reply to: Better than POSIX?
Parent article: Better than POSIX?
Well, what's confusing is that it should, as I understand soft-updates
--- it maintains a dependency graph of required metadata updates, and
writes to disk in such a way that at each step, the system is
consistent. I don't see why such a scheme wouldn't automatically give
you at least a metadata-level atomic rename, so I was asking for
clarification on what those notes meant.
Soft updates is an enhancement of a file system that does
update-in-place. Certain things are hard or impossible to do in that
setting. In particular, rename requires updating to different places,
so if you update one place after the other (as you have to do with
in-place updates), there is a time span when one update has happened,
but not the other.
You can use a journal for an in-place update system to work around
this: write the rename operation atomically into the journal, then
perform the individual updates, then clear that journal entry. In
crash recovery replay the outstanding journal entries.
Or you can use a copy-on-write file system: there you write the
changes to some free space, and when you have reached a consistent
state, commit the changes by rewriting the root of the file system.
Besides --- UFS users don't complain about zero-length orphans
to post comments)