On Tue, May 08, 2018 at 08:47:58 -0400, John Ferlan wrote: > Rather than having storageBackendCreateQemuImgCheckEncryption > perform the virStorageGenerateQcowEncryption, let's just do that > earlier during storageBackendCreateQemuImg so that the check > helper is just a check helper rather doing something different > based on whether the format is qcow[2] or raw based encryption. > > Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx> > --- > src/storage/storage_util.c | 31 +++++++++++++++++++++++++++---- > 1 file changed, 27 insertions(+), 4 deletions(-) > > diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c > index 37a649d17b..64d4d1d7d2 100644 > --- a/src/storage/storage_util.c > +++ b/src/storage/storage_util.c > @@ -901,10 +901,10 @@ storageBackendCreateQemuImgCheckEncryption(int format, > _("too many secrets for qcow encryption")); > return -1; > } > - if (enc->format == VIR_STORAGE_ENCRYPTION_FORMAT_DEFAULT || > - enc->nsecrets == 0) { > - if (virStorageGenerateQcowEncryption(vol) < 0) > - return -1; > + if (enc->nsecrets == 0) { > + virReportError(VIR_ERR_XML_ERROR, "%s", > + _("no secret provided for qcow encryption")); > + return -1; > } > } else if (format == VIR_STORAGE_FILE_RAW) { > if (enc->format != VIR_STORAGE_ENCRYPTION_FORMAT_LUKS) { > @@ -1309,6 +1309,26 @@ storageBackendCreateQemuImgSecretPath(virStoragePoolObjPtr pool, storageBackendCreateQemuImgCheckEncryption is called from three externally accessible call chains paths: 1) via multiple apis and then storageBackendCreateQemuImg This one is fixed below. 2) via testCompareXMLToArgvFiles->virStorageBackendCreateQemuImgCmdFromVol This may not be necessary to be fixed. 3) via virStorageBackendVolResizeLocal->storageBackendResizeQemuImg This one looks like a regression.
Attachment:
signature.asc
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list