[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 08/18] block: allow serialized reads to intersect
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[Qemu-devel] [PATCH v3 08/18] block: allow serialized reads to intersect |
Date: |
Mon, 1 Oct 2018 13:29:18 +0300 |
Otherwise, if we have serialized read-part in copy_range from backing
file to its parent if CoW take place, this CoW's sub-reads will
intersect with firstly created serialized read request.
Anyway, reads should not influence on disk view, let's allow them to
intersect.
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
---
block/io.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/block/io.c b/block/io.c
index b003b4d5bf..6d611bfe59 100644
--- a/block/io.c
+++ b/block/io.c
@@ -735,7 +735,8 @@ static bool coroutine_fn
wait_serialising_requests(BdrvTrackedRequest *self)
retry = false;
qemu_co_mutex_lock(&bs->reqs_lock);
QLIST_FOREACH(req, &bs->tracked_requests, list) {
- if (req == self || (!req->serialising && !self->serialising)) {
+ if (req == self || (!req->serialising && !self->serialising) ||
+ (self->type == BDRV_TRACKED_READ && req->type == self->type)) {
continue;
}
if (tracked_request_overlaps(req, self->overlap_offset,
--
2.18.0
- [Qemu-devel] [PATCH v3 00/18] fleecing-hook driver for backup, Vladimir Sementsov-Ogievskiy, 2018/10/01
- [Qemu-devel] [PATCH v3 10/18] iotests: handle -f argument correctly for qemu_io_silent, Vladimir Sementsov-Ogievskiy, 2018/10/01
- [Qemu-devel] [PATCH v3 04/18] block/backup: move from HBitmap to BdrvDirtyBitmap, Vladimir Sementsov-Ogievskiy, 2018/10/01
- [Qemu-devel] [PATCH v3 08/18] block: allow serialized reads to intersect,
Vladimir Sementsov-Ogievskiy <=
- [Qemu-devel] [PATCH v3 02/18] block/io: allow BDRV_REQ_SERIALISING for read, Vladimir Sementsov-Ogievskiy, 2018/10/01
- [Qemu-devel] [PATCH v3 06/18] block/backup: give a name to copy-bitmap, Vladimir Sementsov-Ogievskiy, 2018/10/01
- [Qemu-devel] [PATCH v3 03/18] block/backup: simplify backup_incremental_init_copy_bitmap, Vladimir Sementsov-Ogievskiy, 2018/10/01
- [Qemu-devel] [PATCH v3 14/18] block/fleecing-hook: internal api, Vladimir Sementsov-Ogievskiy, 2018/10/01
- [Qemu-devel] [PATCH v3 01/18] block/dirty-bitmap: allow set/reset bits in disabled bitmaps, Vladimir Sementsov-Ogievskiy, 2018/10/01
- [Qemu-devel] [PATCH v3 05/18] util/id: add block-bitmap subsystem, Vladimir Sementsov-Ogievskiy, 2018/10/01
- [Qemu-devel] [PATCH v3 13/18] block: introduce new filter driver: fleecing-hook, Vladimir Sementsov-Ogievskiy, 2018/10/01