On 03.02.2017 13:02, Daniel P. Berrange wrote: > The qemu-img dd command added --image-opts support, but missed > the corresponding --object support. This prevented passing > secrets (eg auth passwords) needed by certain disk images. > > Reviewed-by: Eric Blake <ebl...@redhat.com> > Signed-off-by: Daniel P. Berrange <berra...@redhat.com> > --- > qemu-img.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/qemu-img.c b/qemu-img.c > index 74e3362..391a141 100644 > --- a/qemu-img.c > +++ b/qemu-img.c > @@ -3949,6 +3949,7 @@ static int img_dd(int argc, char **argv) > }; > const struct option long_options[] = { > { "help", no_argument, 0, 'h'}, > + { "object", required_argument, 0, OPTION_OBJECT}, > { "image-opts", no_argument, 0, OPTION_IMAGE_OPTS}, > { 0, 0, 0, 0 } > }; > @@ -3971,6 +3972,14 @@ static int img_dd(int argc, char **argv) > case 'h': > help(); > break; > + case OPTION_OBJECT: { > + QemuOpts *opts; > + opts = qemu_opts_parse_noisily(&qemu_object_opts, > + optarg, true); > + if (!opts) { > + return 1; > + } > + } break; > case OPTION_IMAGE_OPTS: > image_opts = true; > break; > @@ -4015,6 +4024,13 @@ static int img_dd(int argc, char **argv) > ret = -1; > goto out; > } > + > + if (qemu_opts_foreach(&qemu_object_opts, > + user_creatable_add_opts_foreach, > + NULL, NULL)) { > + return 1;
Why not ret = -1; goto out; like the other code around this block? (Same for the case block above.) Max > + } > + > blk1 = img_open(image_opts, in.filename, fmt, 0, false, false); > > if (!blk1) { >
signature.asc
Description: OpenPGP digital signature