On Tue, 2016-05-10 at 14:47 +0100, Stefan Hajnoczi wrote: > SBC-3 4.15.3 Write caching says: > > "If processing a write command results in logical block data in cache > that is different from the logical block data on the medium, then the > device server shall retain that logical block data in cache until a > write medium operation is performed using that logical block data." > > Does "is performed" mean "completes successfully" or just > "completes"? It means completes. If there's an error, it will be reported via deferred sense and an error to the SYNC CACHE command. > If "is performed" just means "completes", maybe with an error, the > application would have to resubmit write requests and then try to > flush the write cache again. > > I'm not aware of applications that keep acknowledged write data > around until the cache flush completion in order to retry writes. I think you may be misunderstanding the nature of the returned error. It will be permanent and fatal and usually signal that the device has a failed sector that can't be remapped and so the device itself has for most purposes failed. The only recovery is if you happen to have RAID, in which case the RAID layer will mostly take care of it. James
Attachment:
signature.asc
Description: This is a digitally signed message part