From: Kevin Wolf Date: Thu, 9 Feb 2017 15:49:53 +0000 (+0100) Subject: block: Assertions for write permissions X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=afa4b293230c0bad3dfbfa9c0ff3f7bdfab40430;p=qemu.git block: Assertions for write permissions This adds assertions that ensure that the necessary write permissions have been granted before someone attempts to write to a node. Signed-off-by: Kevin Wolf Acked-by: Fam Zheng Reviewed-by: Max Reitz --- diff --git a/block/io.c b/block/io.c index 2592ca1bd4..4c797454a4 100644 --- a/block/io.c +++ b/block/io.c @@ -945,6 +945,8 @@ static int coroutine_fn bdrv_co_do_copy_on_readv(BdrvChild *child, size_t skip_bytes; int ret; + assert(child->perm & (BLK_PERM_WRITE_UNCHANGED | BLK_PERM_WRITE)); + /* Cover entire cluster so no additional backing file I/O is required when * allocating cluster in the image file. */ @@ -1336,6 +1338,7 @@ static int coroutine_fn bdrv_aligned_pwritev(BdrvChild *child, assert(!waited || !req->serialising); assert(req->overlap_offset <= offset); assert(offset + bytes <= req->overlap_offset + req->overlap_bytes); + assert(child->perm & BLK_PERM_WRITE); ret = notifier_with_return_list_notify(&bs->before_write_notifiers, req);