Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
parallels: Replace qemu_co_mutex_lock by WITH_QEMU_LOCK_GUARD
Replace the way we use mutex in parallels_co_check() for simplier
and less error prone code.

Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Reviewed-by: Denis V. Lunev <den@openvz.org>
Message-Id: <20230424093147.197643-12-alexander.ivanov@virtuozzo.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
  • Loading branch information
AlexanderIvanov-Virtuozzo authored and XanClic committed Jun 5, 2023
1 parent 7e259e2 commit c0fc051
Showing 1 changed file with 14 additions and 19 deletions.
33 changes: 14 additions & 19 deletions block/parallels.c
Expand Up @@ -562,30 +562,25 @@ parallels_co_check(BlockDriverState *bs, BdrvCheckResult *res,
BDRVParallelsState *s = bs->opaque;
int ret;

qemu_co_mutex_lock(&s->lock);
WITH_QEMU_LOCK_GUARD(&s->lock) {
parallels_check_unclean(bs, res, fix);

parallels_check_unclean(bs, res, fix);
ret = parallels_check_outside_image(bs, res, fix);
if (ret < 0) {
return ret;
}

ret = parallels_check_outside_image(bs, res, fix);
if (ret < 0) {
goto out;
}
ret = parallels_check_leak(bs, res, fix);
if (ret < 0) {
return ret;
}

ret = parallels_check_leak(bs, res, fix);
if (ret < 0) {
goto out;
parallels_collect_statistics(bs, res, fix);
}

parallels_collect_statistics(bs, res, fix);

out:
qemu_co_mutex_unlock(&s->lock);

if (ret == 0) {
ret = bdrv_co_flush(bs);
if (ret < 0) {
res->check_errors++;
}
ret = bdrv_co_flush(bs);
if (ret < 0) {
res->check_errors++;
}

return ret;
Expand Down

0 comments on commit c0fc051

Please sign in to comment.