|
@@ -2183,7 +2183,8 @@ static int img_convert(int argc, char **argv)
|
|
int c, bs_i, flags, src_flags = BDRV_O_NO_SHARE;
|
|
int c, bs_i, flags, src_flags = BDRV_O_NO_SHARE;
|
|
const char *fmt = NULL, *out_fmt = NULL, *cache = "unsafe",
|
|
const char *fmt = NULL, *out_fmt = NULL, *cache = "unsafe",
|
|
*src_cache = BDRV_DEFAULT_CACHE, *out_baseimg = NULL,
|
|
*src_cache = BDRV_DEFAULT_CACHE, *out_baseimg = NULL,
|
|
- *out_filename, *out_baseimg_param, *snapshot_name = NULL;
|
|
|
|
|
|
+ *out_filename, *out_baseimg_param, *snapshot_name = NULL,
|
|
|
|
+ *backing_fmt = NULL;
|
|
BlockDriver *drv = NULL, *proto_drv = NULL;
|
|
BlockDriver *drv = NULL, *proto_drv = NULL;
|
|
BlockDriverInfo bdi;
|
|
BlockDriverInfo bdi;
|
|
BlockDriverState *out_bs;
|
|
BlockDriverState *out_bs;
|
|
@@ -2223,7 +2224,7 @@ static int img_convert(int argc, char **argv)
|
|
{"skip-broken-bitmaps", no_argument, 0, OPTION_SKIP_BROKEN},
|
|
{"skip-broken-bitmaps", no_argument, 0, OPTION_SKIP_BROKEN},
|
|
{0, 0, 0, 0}
|
|
{0, 0, 0, 0}
|
|
};
|
|
};
|
|
- c = getopt_long(argc, argv, ":hf:O:B:Cco:l:S:pt:T:qnm:WUr:",
|
|
|
|
|
|
+ c = getopt_long(argc, argv, ":hf:O:B:CcF:o:l:S:pt:T:qnm:WUr:",
|
|
long_options, NULL);
|
|
long_options, NULL);
|
|
if (c == -1) {
|
|
if (c == -1) {
|
|
break;
|
|
break;
|
|
@@ -2253,6 +2254,9 @@ static int img_convert(int argc, char **argv)
|
|
case 'c':
|
|
case 'c':
|
|
s.compressed = true;
|
|
s.compressed = true;
|
|
break;
|
|
break;
|
|
|
|
+ case 'F':
|
|
|
|
+ backing_fmt = optarg;
|
|
|
|
+ break;
|
|
case 'o':
|
|
case 'o':
|
|
if (accumulate_options(&options, optarg) < 0) {
|
|
if (accumulate_options(&options, optarg) < 0) {
|
|
goto fail_getopt;
|
|
goto fail_getopt;
|
|
@@ -2521,7 +2525,7 @@ static int img_convert(int argc, char **argv)
|
|
|
|
|
|
qemu_opt_set_number(opts, BLOCK_OPT_SIZE,
|
|
qemu_opt_set_number(opts, BLOCK_OPT_SIZE,
|
|
s.total_sectors * BDRV_SECTOR_SIZE, &error_abort);
|
|
s.total_sectors * BDRV_SECTOR_SIZE, &error_abort);
|
|
- ret = add_old_style_options(out_fmt, opts, out_baseimg, NULL);
|
|
|
|
|
|
+ ret = add_old_style_options(out_fmt, opts, out_baseimg, backing_fmt);
|
|
if (ret < 0) {
|
|
if (ret < 0) {
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|