On 13/05/2015 17:02, Fam Zheng wrote:
>> > For example, SCSI requests can result in many consecutive I/Os:
>> > 
>> > (1) FUA requests are split in write+flush
>> > 
>> > (2) adapters that do not use QEMUSGList-based I/O only read 128K at a time
>> > 
>> > (3) WRITE SAME operations are also split in chunks
>> > 
>> > (4) UNMAP operations process one descriptor at a time
> I don't understand the point of these examples. If we don't return -EBUSY 
> here,
> the request will sneak into block/io.c and perhaps break qmp transaction
> semantics, if it lands between two backups.

It won't, because after blocking DEVICE_IO you will always drain I/O and
the bdrv_drain will loop until the above are all satisfied.

Paolo

Reply via email to