On Tue, 5 Jun 2012, Jan Owoc wrote:
Some applications may depend on the files (or portions thereof) making
it out to disk in a specific order. The example you gave is perfect.
Let's say file "A" needs to exist before a change in file "B" happens.
A properly written program would write out file "A", fsync, wait for
fsync to complete, then change file "B". A properly written filesystem
will wait for the data from "A" to hit physical, permanent, storage
before allowing the change to "B". This can be slow on mechanical
storage, so you put the ZIL on a separate SLOG.

Both ZFS normal writes and zil-based recovery are ordered. I don't see how you could have "B" updated but "A" not updated. As far as ZFS is concerned, the ZIL is persistent storage and no less reliable than other storage units in the pool.

This is radically different from a filesystem like EXT4 where some sorts of updates (e.g. create/delete file or directory) take priority over others. Ad hoc approaches are often used to improve the appearance of performance, or because the filesystem "knows" that one sort of metadata or data is more important than another.

Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/

_______________________________________________
OpenIndiana-discuss mailing list
OpenIndiana-discuss@openindiana.org
http://openindiana.org/mailman/listinfo/openindiana-discuss

Reply via email to