Bill,

I realized just now that we're actually sending the wrong variant of 
SYNCHRONIZE CACHE, at least for SCSI devices which support SBC-2.

SBC-2 (or possibly even SBC-1, I don't have it handy) added the SYNC_NV bit to 
the command. If SYNC_NV is set to 0, the device is required to flush data from 
any non-volatile cache to the storage medium. If SYNC_NV is 1, however, the 
device is only required to ensure that data in any volatile caches is flushed 
to non-volatile cache if present.

We should be setting SYNC_NV for devices which support SBC-2. This should solve 
the problem where the larger array systems are flushing their non-volatile 
cache to disk when ZFS sends the cache flush; though, of course, it assumes 
that vendors actually check this bit.  ;-)

Should I file a bug on this?

Anton
 
 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to