On Mon, Oct 26, 2026 at 02:16:21PM -0600, Keith Busch wrote:
> On Mon, Oct 26, 2026 at 04:11:26PM -0400, Stefan Hajnoczi wrote:
> > What happens when two large writes to the same sector run concurrently?
> > Before, the result was either write A or write B. Now it's possible to
> > get an interleaving of write A and B's data. 
> 
> That result is consistent with the storage hardware specs, too.

I double-checked the SCSI SBC spec and you're right.

> 
> > I think this violates block device semantics and corrupts data. A
> > serialization mechanism is needed if you want to do this.
> 
> Seems like overkill and you still don't get a deterministic outcome: you
> get either A or B, but you the host doesn't know which. If you need
> deterministic data, then the onus is usually on the host side to not
> send overlapping writes.

Yes, QEMU only needs to implement the hardware semantics and doing more
here is not necessary.

Stefan


Reply via email to