For many years, we have used WCE as an indication that a device has a volatile
write cache (not just a write cache) and used this as a trigger to send down
SYNCHRONIZE_CACHE commands as needed.
Some arrays with non-volatile cache seem to have WCE set and simply ignore the
command.
Some arrays with non-volatile cache seem to not set WCE.
Others arrays with non-volatile cache - our problem arrays - set WCE and do
something horrible and slow when sent the SYNCHRONIZE_CACHE commands.
Note that for file systems, you can override this behavior by mounting with our
barriers disabled (mount -o nobarrier .....). There is currently no way do
disable this for anything using the device directly, not through the file system.
Some applications run against block devices - not through a file system - and
want not to slow to a crawl when they have an array in my problem set.
Giving them a hook to ignore WCE seems to be a hack, but one that would resolve
issues with users who won't want to wait months (years?) for us to convince the
array vendors.
Is this a hook worth doing?
Have we hashed this out in the T10 committee?
Regards,
Ric
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html