Am 14.08.2018 um 11:35 hat Daniel P. Berrangé geschrieben: > When the convert command is creating an output file that needs > secrets, we need to ensure those secrets are passed to both the > blk_new_open and bdrv_create API calls. > > This is done by qemu-img extracting all opts matching the name > suffix "key-secret". Unfortunately the code doing this was run after the > call to bdrv_create(), which meant the QemuOpts it was extracting > secrets from was now empty. > > Previously this worked by luks as a bug meant the "key-secret" > parameters were not purged from the QemuOpts. This bug was fixed in > > commit b76b4f604521e59f857d6177bc55f6f2e41fd392 > Author: Kevin Wolf <kw...@redhat.com> > Date: Thu Jan 11 16:18:08 2018 +0100 > > qcow2: Use visitor for options in qcow2_create() > > Exposing the latent bug in qemu-img. This fix simply moves the copying > of secrets to before the bdrv_create() call. > > Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>
Cc: qemu-sta...@nongnu.org > @@ -2461,9 +2458,9 @@ out: > qemu_progress_print(100, 0); > } > qemu_progress_end(); > - qemu_opts_del(opts); Why don't we need to free opts any more? > qemu_opts_free(create_opts); > qemu_opts_del(sn_opts); > + qobject_unref(open_opts); > blk_unref(s.target); > if (s.src) { > for (bs_i = 0; bs_i < s.src_num; bs_i++) { Kevin