2007/2/12, Frank Hofmann <[EMAIL PROTECTED]>:
On Mon, 12 Feb 2007, Chris Csanady wrote:

> This is true for NCQ with SATA, but SCSI also supports ordered tags,
> so it should not be necessary.
>
> At least, that is my understanding.

Except that ZFS doesn't talk SCSI, it talks to a target driver. And that
one may or may not treat async I/O requests dispatched via its strategy()
entry point as strictly ordered / non-coalescible / non-cancellable.

See e.g. disksort(9F).

Yes, however, this functionality could be exposed through the target
driver.  While the implementation does not (yet) take full advantage
of ordered tags, linux does provide an interface to do this:

   http://www.mjmwired.net/kernel/Documentation/block/barrier.txt

From a correctness standpoint, the interface seems worthwhile, even if
the mechanisms are never implemented.  It just feels wrong to execute
a synchronize cache command from ZFS, when often that is not the
intention.  The changes to ZFS itself would be very minor.

That said, actually implementing the underlying mechanisms may not be
worth the trouble.  It is only a matter of time before disks have fast
non-volatile memory like PRAM or MRAM, and then the need to do
explicit cache management basically disappears.

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

Reply via email to