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