]> git.proxmox.com Git - mirror_qemu.git/commit - block/vhdx.c
block: Add BDRV_O_RESIZE for blk_new_open()
authorKevin Wolf <kwolf@redhat.com>
Fri, 17 Feb 2017 14:07:38 +0000 (15:07 +0100)
committerKevin Wolf <kwolf@redhat.com>
Tue, 28 Feb 2017 19:40:36 +0000 (20:40 +0100)
commit55880601d82d55cbfa3b5bd9757496b6ebbc527c
treee9265ffd167977925251d93939259d7fdb107a87
parentd7086422b1c1e75e320519cfe26176db6ec97a37
block: Add BDRV_O_RESIZE for blk_new_open()

blk_new_open() is a convenience function that processes flags rather
than QDict options as a simple way to just open an image file.

In order to keep it convenient in the future, it must automatically
request the necessary permissions. This can easily be inferred from the
flags for read and write, but we need another flag that tells us whether
to get the resize permission.

We can't just always request it because that means that no block jobs
can run on the resulting BlockBackend (which is something that e.g.
qemu-img commit wants to do), but we also can't request it never because
most of the .bdrv_create() implementations call blk_truncate().

The solution is to introduce another flag that is passed by all users
that want to resize the image.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Acked-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
block/parallels.c
block/qcow.c
block/qcow2.c
block/qed.c
block/sheepdog.c
block/vdi.c
block/vhdx.c
block/vmdk.c
block/vpc.c
include/block/block.h
qemu-img.c