[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 13/18] qcow2: add support for LUKS encryption
From: |
Alberto Garcia |
Subject: |
Re: [Qemu-devel] [PATCH v5 13/18] qcow2: add support for LUKS encryption format |
Date: |
Tue, 21 Feb 2017 15:13:03 +0100 |
User-agent: |
Notmuch/0.18.2 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) |
On Tue 21 Feb 2017 12:55:07 PM CET, Daniel P. Berrange wrote:
> static int qcow2_set_up_encryption(BlockDriverState *bs, QemuOpts *opts,
> - Error **errp)
> + const char *fmtstr, Error **errp)
> {
> BDRVQcow2State *s = bs->opaque;
> QCryptoBlockCreateOptions *cryptoopts = NULL;
> QCryptoBlock *crypto = NULL;
> int ret = -EINVAL;
> + int fmt = qcow2_crypt_method_from_format(fmtstr);
>
> - cryptoopts = block_crypto_create_opts_init(
> - Q_CRYPTO_BLOCK_FORMAT_QCOW, opts, "aes-", errp);
> + switch (fmt) {
> + case QCOW_CRYPT_LUKS:
> + cryptoopts = block_crypto_create_opts_init(
> + Q_CRYPTO_BLOCK_FORMAT_LUKS, opts, "luks-", errp);
> + break;
> + case QCOW_CRYPT_AES:
> + cryptoopts = block_crypto_create_opts_init(
> + Q_CRYPTO_BLOCK_FORMAT_QCOW, opts, "aes-", errp);
> + break;
> + default:
> + error_setg(errp, "Unknown encryption format %s", fmtstr);
> + break;
> + }
> + s->crypt_method_header = fmt;
> if (!cryptoopts) {
> ret = -EINVAL;
> goto out;
> }
I don't believe it has any practical effect in this case, but I think
it's cleaner to set s->crypt_method_header = fmt after checking that
everything went well. Otherwise an incorrect format string will result
in s->crypt_method_header = -EINVAL, which doesn't make sense (it's not
even the correct type: the variable is unsigned).
Other than that, the patch looks good to me.
Reviewed-by: Alberto Garcia <address@hidden>
Berto
- [Qemu-devel] [PATCH v5 14/18] qcow2: add iotests to cover LUKS encryption support, (continued)
- [Qemu-devel] [PATCH v5 14/18] qcow2: add iotests to cover LUKS encryption support, Daniel P. Berrange, 2017/02/21
- [Qemu-devel] [PATCH v5 11/18] qcow2: convert QCow2 to use QCryptoBlock for encryption, Daniel P. Berrange, 2017/02/21
- [Qemu-devel] [PATCH v5 16/18] block: rip out all traces of password prompting, Daniel P. Berrange, 2017/02/21
- [Qemu-devel] [PATCH v5 17/18] block: remove all encryption handling APIs, Daniel P. Berrange, 2017/02/21
- [Qemu-devel] [PATCH v5 18/18] block: pass option prefix down to crypto layer, Daniel P. Berrange, 2017/02/21
- [Qemu-devel] [PATCH v5 13/18] qcow2: add support for LUKS encryption format, Daniel P. Berrange, 2017/02/21
- Re: [Qemu-devel] [PATCH v5 13/18] qcow2: add support for LUKS encryption format,
Alberto Garcia <=