qemu-img: Move quiet into ImgConvertState
Move img_convert()'s quiet flag into the ImgConvertState so it is accessible by nested functions. -q dictates that it suppresses anything but errors, so if those functions want to emit warnings, they need to query this flag first. (There currently are no such warnings, but there will be as of the next patch.) Signed-off-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-id: 20190507203508.18026-2-mreitz@redhat.com Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
parent
a2bb6f8c92
commit
3d96cb91d7
13
qemu-img.c
13
qemu-img.c
@ -1581,6 +1581,7 @@ typedef struct ImgConvertState {
|
|||||||
int64_t target_backing_sectors; /* negative if unknown */
|
int64_t target_backing_sectors; /* negative if unknown */
|
||||||
bool wr_in_order;
|
bool wr_in_order;
|
||||||
bool copy_range;
|
bool copy_range;
|
||||||
|
bool quiet;
|
||||||
int min_sparse;
|
int min_sparse;
|
||||||
int alignment;
|
int alignment;
|
||||||
size_t cluster_sectors;
|
size_t cluster_sectors;
|
||||||
@ -2012,7 +2013,7 @@ static int img_convert(int argc, char **argv)
|
|||||||
QDict *open_opts = NULL;
|
QDict *open_opts = NULL;
|
||||||
char *options = NULL;
|
char *options = NULL;
|
||||||
Error *local_err = NULL;
|
Error *local_err = NULL;
|
||||||
bool writethrough, src_writethrough, quiet = false, image_opts = false,
|
bool writethrough, src_writethrough, image_opts = false,
|
||||||
skip_create = false, progress = false, tgt_image_opts = false;
|
skip_create = false, progress = false, tgt_image_opts = false;
|
||||||
int64_t ret = -EINVAL;
|
int64_t ret = -EINVAL;
|
||||||
bool force_share = false;
|
bool force_share = false;
|
||||||
@ -2120,7 +2121,7 @@ static int img_convert(int argc, char **argv)
|
|||||||
src_cache = optarg;
|
src_cache = optarg;
|
||||||
break;
|
break;
|
||||||
case 'q':
|
case 'q':
|
||||||
quiet = true;
|
s.quiet = true;
|
||||||
break;
|
break;
|
||||||
case 'n':
|
case 'n':
|
||||||
skip_create = true;
|
skip_create = true;
|
||||||
@ -2209,7 +2210,7 @@ static int img_convert(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Initialize before goto out */
|
/* Initialize before goto out */
|
||||||
if (quiet) {
|
if (s.quiet) {
|
||||||
progress = false;
|
progress = false;
|
||||||
}
|
}
|
||||||
qemu_progress_init(progress, 1.0);
|
qemu_progress_init(progress, 1.0);
|
||||||
@ -2220,7 +2221,7 @@ static int img_convert(int argc, char **argv)
|
|||||||
|
|
||||||
for (bs_i = 0; bs_i < s.src_num; bs_i++) {
|
for (bs_i = 0; bs_i < s.src_num; bs_i++) {
|
||||||
s.src[bs_i] = img_open(image_opts, argv[optind + bs_i],
|
s.src[bs_i] = img_open(image_opts, argv[optind + bs_i],
|
||||||
fmt, src_flags, src_writethrough, quiet,
|
fmt, src_flags, src_writethrough, s.quiet,
|
||||||
force_share);
|
force_share);
|
||||||
if (!s.src[bs_i]) {
|
if (!s.src[bs_i]) {
|
||||||
ret = -1;
|
ret = -1;
|
||||||
@ -2383,7 +2384,7 @@ static int img_convert(int argc, char **argv)
|
|||||||
|
|
||||||
if (skip_create) {
|
if (skip_create) {
|
||||||
s.target = img_open(tgt_image_opts, out_filename, out_fmt,
|
s.target = img_open(tgt_image_opts, out_filename, out_fmt,
|
||||||
flags, writethrough, quiet, false);
|
flags, writethrough, s.quiet, false);
|
||||||
} else {
|
} else {
|
||||||
/* TODO ultimately we should allow --target-image-opts
|
/* TODO ultimately we should allow --target-image-opts
|
||||||
* to be used even when -n is not given.
|
* to be used even when -n is not given.
|
||||||
@ -2391,7 +2392,7 @@ static int img_convert(int argc, char **argv)
|
|||||||
* to allow filenames in option syntax
|
* to allow filenames in option syntax
|
||||||
*/
|
*/
|
||||||
s.target = img_open_file(out_filename, open_opts, out_fmt,
|
s.target = img_open_file(out_filename, open_opts, out_fmt,
|
||||||
flags, writethrough, quiet, false);
|
flags, writethrough, s.quiet, false);
|
||||||
open_opts = NULL; /* blk_new_open will have freed it */
|
open_opts = NULL; /* blk_new_open will have freed it */
|
||||||
}
|
}
|
||||||
if (!s.target) {
|
if (!s.target) {
|
||||||
|
Loading…
Reference in New Issue
Block a user