[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH +stable] block: don't attempt to merge overlappi
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] Re: [PATCH +stable] block: don't attempt to merge overlapping requests |
Date: |
Tue, 18 May 2010 21:19:13 +0100 |
On Tue, May 18, 2010 at 8:41 PM, Michael Tokarev <address@hidden> wrote:
> But actually I don't quite see where that dependency is: guest
> does not know how its data is cached on host...
I was thinking of this bit in linux-2.6:drivers/block/virtio_blk.c:
/* If barriers are supported, tell block layer that queue is ordered */
if (virtio_has_feature(vdev, VIRTIO_BLK_F_FLUSH))
blk_queue_ordered(q, QUEUE_ORDERED_DRAIN_FLUSH,
virtblk_prepare_flush);
else if (virtio_has_feature(vdev, VIRTIO_BLK_F_BARRIER))
blk_queue_ordered(q, QUEUE_ORDERED_TAG, NULL);
I was wondering whether we have something wrong, causing the guest to
perform overlapping write requests without draining the queue or
flushing.
Stefan