Am 26.01.2015 um 16:00 hat Max Reitz geschrieben: > Signed-off-by: Max Reitz <mre...@redhat.com> > --- > qemu-img.c | 57 ++++++++++++++++++++++++--------------------------------- > 1 file changed, 24 insertions(+), 33 deletions(-) > > diff --git a/qemu-img.c b/qemu-img.c > index be1953d..0b23c87 100644 > --- a/qemu-img.c > +++ b/qemu-img.c > @@ -2430,7 +2430,6 @@ static int img_rebase(int argc, char **argv) > { > BlockBackend *blk = NULL, *blk_old_backing = NULL, *blk_new_backing = > NULL; > BlockDriverState *bs = NULL, *bs_old_backing = NULL, *bs_new_backing = > NULL; > - BlockDriver *old_backing_drv, *new_backing_drv; > char *filename; > const char *fmt, *cache, *src_cache, *out_basefmt, *out_baseimg; > int c, flags, src_flags, ret; > @@ -2524,54 +2523,46 @@ static int img_rebase(int argc, char **argv) > } > bs = blk_bs(blk); > > - /* Find the right drivers for the backing files */ > - old_backing_drv = NULL; > - new_backing_drv = NULL; > - > - if (!unsafe && bs->backing_format[0] != '\0') { > - old_backing_drv = bdrv_find_format(bs->backing_format); > - if (old_backing_drv == NULL) { > - error_report("Invalid format name: '%s'", bs->backing_format); > - ret = -1; > - goto out; > - } > - } > - > - if (out_basefmt != NULL) { > - new_backing_drv = bdrv_find_format(out_basefmt); > - if (new_backing_drv == NULL) { > - error_report("Invalid format name: '%s'", out_basefmt); > - ret = -1; > - goto out; > - } > - }
You're removing the validity check of the new backing file format: [master] $ ./qemu-img rebase -u -b /tmp/backing.qcow2 -F foobar /tmp/test.qcow2 qemu-img: Invalid format name: 'foobar' [master] $ [growable-v3] $ ./qemu-img rebase -u -b /tmp/backing.qcow2 -F foobar /tmp/test.qcow2 [growable-v3] $ Kevin