diff options
author | Max Reitz <mreitz@redhat.com> | 2020-04-29 16:11:23 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2020-05-18 19:05:25 +0200 |
commit | 6f7a3b535f0d48d138e43cadf13323f083bfb547 (patch) | |
tree | a29836b6ac0b907aa5dd7609fdceca23bde047bb /include/block | |
parent | 19b7868eff865c01985a5d37f1c9c0c8691b0001 (diff) | |
download | qemu-6f7a3b535f0d48d138e43cadf13323f083bfb547.zip qemu-6f7a3b535f0d48d138e43cadf13323f083bfb547.tar.gz qemu-6f7a3b535f0d48d138e43cadf13323f083bfb547.tar.bz2 |
block: Add bdrv_make_empty()
Right now, all users of bdrv_make_empty() call the BlockDriver method
directly. That is not only bad style, it is also wrong, unless the
caller has a BdrvChild with a WRITE or WRITE_UNCHANGED permission.
(WRITE_UNCHANGED suffices, because callers generally use this function
to clear a node with a backing file after a commit operation.)
Introduce bdrv_make_empty() that verifies that it does.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200429141126.85159-2-mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'include/block')
-rw-r--r-- | include/block/block.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/block/block.h b/include/block/block.h index 4de8d8f..8f3eb70 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -352,6 +352,7 @@ BlockMeasureInfo *bdrv_measure(BlockDriver *drv, QemuOpts *opts, void bdrv_get_geometry(BlockDriverState *bs, uint64_t *nb_sectors_ptr); void bdrv_refresh_limits(BlockDriverState *bs, Error **errp); int bdrv_commit(BlockDriverState *bs); +int bdrv_make_empty(BdrvChild *c, Error **errp); int bdrv_change_backing_file(BlockDriverState *bs, const char *backing_file, const char *backing_fmt); void bdrv_register(BlockDriver *bdrv); |