Carson Gaspar wrote:
> Todd E. Moore wrote:
>> I'm working with a group that wants to commit all the way to disk every
>> single write - flushing or bypassing all the caches each time. The
>> fsync() call will flush the ZIL. As for the disk's cache, if given the
>> entire disk, ZFS enables its cache by default. Rather than ZFS having to
>> issue the flush command to the disk we want to disable this cache and
>> avoid the step altogether
> 
> Then tell your (in my opinion insane) group to pass O_SYNC to open().
> That will guarantee writes go to disk without being cached (except by 
> non-volatile cache in a raid controller). If you don't want the ZIL 
> involved, don't configure one for your storage.

I think there's some confusion here. For a description of the ZIL
and separate log devices see:

http://blogs.sun.com/perrin/entry/the_lumberjack
http://blogs.sun.com/perrin/entry/slog_blog_or_blogging_on

If you don't configure a separate log device - I assume this
is what you meant by "ZIL" above), then the intent log is
embedded in the main pool. It's not advisable to disable the
ZIL code as this actually handles fsync/O_[D]SYNC.
Without it those synchronous requests are ignored,
which is the opposite of what Todd wants.

Neil.


_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to