summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy2020-10-21 16:58:42 +0200
committerMax Reitz2020-12-18 12:35:55 +0100
commitec1c8868316f9ef33baa695400cb13cf19d1dc78 (patch)
tree0124320698e43b246187fd6a9995c4b871264ab0
parentblock/io: split out bdrv_find_conflicting_request (diff)
downloadqemu-ec1c8868316f9ef33baa695400cb13cf19d1dc78.tar.gz
qemu-ec1c8868316f9ef33baa695400cb13cf19d1dc78.tar.xz
qemu-ec1c8868316f9ef33baa695400cb13cf19d1dc78.zip
block/io: bdrv_wait_serialising_requests_locked: drop extra bs arg
bs is linked in req, so no needs to pass it separately. Most of tracked-requests API doesn't have bs argument. Actually, after this patch only tracked_request_begin has it, but it's for purpose. While being here, also add a comment about what "_locked" is. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <20201021145859.11201-5-vsementsov@virtuozzo.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
-rw-r--r--block/io.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/block/io.c b/block/io.c
index 640136b8bc..d7015378a3 100644
--- a/block/io.c
+++ b/block/io.c
@@ -788,16 +788,16 @@ bdrv_find_conflicting_request(BdrvTrackedRequest *self)
return NULL;
}
+/* Called with self->bs->reqs_lock held */
static bool coroutine_fn
-bdrv_wait_serialising_requests_locked(BlockDriverState *bs,
- BdrvTrackedRequest *self)
+bdrv_wait_serialising_requests_locked(BdrvTrackedRequest *self)
{
BdrvTrackedRequest *req;
bool waited = false;
while ((req = bdrv_find_conflicting_request(self))) {
self->waiting_for = req;
- qemu_co_queue_wait(&req->wait_queue, &bs->reqs_lock);
+ qemu_co_queue_wait(&req->wait_queue, &self->bs->reqs_lock);
self->waiting_for = NULL;
waited = true;
}
@@ -821,7 +821,7 @@ bool bdrv_mark_request_serialising(BdrvTrackedRequest *req, uint64_t align)
req->overlap_offset = MIN(req->overlap_offset, overlap_offset);
req->overlap_bytes = MAX(req->overlap_bytes, overlap_bytes);
- waited = bdrv_wait_serialising_requests_locked(bs, req);
+ waited = bdrv_wait_serialising_requests_locked(req);
qemu_co_mutex_unlock(&bs->reqs_lock);
return waited;
}
@@ -903,7 +903,7 @@ static bool coroutine_fn bdrv_wait_serialising_requests(BdrvTrackedRequest *self
}
qemu_co_mutex_lock(&bs->reqs_lock);
- waited = bdrv_wait_serialising_requests_locked(bs, self);
+ waited = bdrv_wait_serialising_requests_locked(self);
qemu_co_mutex_unlock(&bs->reqs_lock);
return waited;