The Thursday 06 Mar 2014 à 16:44:27 (+0100), Kevin Wolf wrote : > Encrypted images need a password before they can be used, and we don't > want blockdev-add to create BDSes that aren't fully initialised. So for > now simply forbid encrypted images; we can come back to it later if we > need the functionality. > > Signed-off-by: Kevin Wolf <kw...@redhat.com> > --- > blockdev.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/blockdev.c b/blockdev.c > index 357f760..561cb81 100644 > --- a/blockdev.c > +++ b/blockdev.c > @@ -2266,6 +2266,7 @@ void qmp_block_job_complete(const char *device, Error > **errp) > void qmp_blockdev_add(BlockdevOptions *options, Error **errp) > { > QmpOutputVisitor *ov = qmp_output_visitor_new(); > + DriveInfo *dinfo; > QObject *obj; > QDict *qdict; > Error *local_err = NULL; > @@ -2301,12 +2302,18 @@ void qmp_blockdev_add(BlockdevOptions *options, Error > **errp) > > qdict_flatten(qdict); > > - blockdev_init(NULL, qdict, &local_err); > + dinfo = blockdev_init(NULL, qdict, &local_err); > if (local_err) { > error_propagate(errp, local_err); > goto fail; > } > > + if (bdrv_key_required(dinfo->bdrv)) { > + drive_uninit(dinfo); > + error_setg(errp, "blockdev-add doesn't support encrypted devices");
> + goto fail; This goto fail; is an extra the code will flow to fail anyway. Best regards Benoît > + } > + > fail: > qmp_output_visitor_cleanup(ov); > } > -- > 1.8.1.4 > >