On Thu, Aug 02, 2012 at 02:25:56PM +0800, Asias He wrote: > We need to support both REQ_FLUSH and REQ_FUA for bio based path since > it does not get the sequencing of REQ_FUA into REQ_FLUSH that request > based drivers can request. > > REQ_FLUSH is emulated by: > 1. Send VIRTIO_BLK_T_FLUSH to device > 2. Wait until the flush is finished There is no need to wait for the flush to finish if the REQ_FLUSH request has no data payload. Even if it has a payload waiting is highly suboptimal and it should use a non-blocking sequencing like it is done in the request layer. > > REQ_FUA is emulated by: > 1. Send the actual write > 2. Wait until the actual write is finished > 3. Send VIRTIO_BLK_T_FLUSH to device > 4. Wait until the flush is finished > 5. Signal the end of the write to upper layer The same comment about not blocking applies here as well. _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization