[Qemu-devel] [PATCH 02/54] qcow2: Use BB for resizing in qcow2_amend_options()

Kevin Wolf posted 54 patches 8 years, 11 months ago
There is a newer version of this series
[Qemu-devel] [PATCH 02/54] qcow2: Use BB for resizing in qcow2_amend_options()
Posted by Kevin Wolf 8 years, 11 months ago
In order to able to conver bdrv_truncate() to take a BdrvChild and
later to correctly check the resize permission here, we need to use a
BlockBackend for resizing the image.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 block/qcow2.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/block/qcow2.c b/block/qcow2.c
index 3e274bd..254545a 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -3250,7 +3250,11 @@ static int qcow2_amend_options(BlockDriverState *bs, QemuOpts *opts,
     }
 
     if (new_size) {
-        ret = bdrv_truncate(bs, new_size);
+        BlockBackend *blk = blk_new();
+        blk_insert_bs(blk, bs);
+        ret = blk_truncate(blk, new_size);
+        blk_unref(blk);
+
         if (ret < 0) {
             return ret;
         }
-- 
1.8.3.1


Re: [Qemu-devel] [PATCH 02/54] qcow2: Use BB for resizing in qcow2_amend_options()
Posted by Max Reitz 8 years, 11 months ago
On 21.02.2017 15:57, Kevin Wolf wrote:
> In order to able to conver bdrv_truncate() to take a BdrvChild and
> later to correctly check the resize permission here, we need to use a
> BlockBackend for resizing the image.
> 
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
>  block/qcow2.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)

Reviewed-by: Max Reitz <mreitz@redhat.com>

Re: [Qemu-devel] [PATCH 02/54] qcow2: Use BB for resizing in qcow2_amend_options()
Posted by Eric Blake 8 years, 11 months ago
On 02/21/2017 08:57 AM, Kevin Wolf wrote:
> In order to able to conver bdrv_truncate() to take a BdrvChild and

s/conver/convert/

> later to correctly check the resize permission here, we need to use a
> BlockBackend for resizing the image.
> 
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
>  block/qcow2.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org