[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/14] LUKS: encryption slot management using amend interface
From: |
Maxim Levitsky |
Subject: |
[PATCH v2 00/14] LUKS: encryption slot management using amend interface |
Date: |
Thu, 30 Jan 2020 19:29:05 +0200 |
Here is the updated series of my patches, incorporating all the feedback I
received.
Patches are strictly divided by topic to 3 groups, and each group depends on
former groups.
* Patches 1,2 implement qcrypto generic amend interface, including definition
of structs used in crypto.json and implement this in luks crypto driver
Nothing is exposed to the user at this stage
* Patches 3-9 use the code from patches 1,2 to implement qemu-img amend based
encryption slot management
for luks and for qcow2, and add a bunch of iotests to cover that.
* Patches 10-13 add x-blockdev-amend (I'll drop the -x prefix if you like), and
wire it
to luks and qcow2 driver to implement qmp based encryption slot management
also using
the code from patches 1,2, and also add a bunch of iotests to cover this.
V2:
* Still the same API interface.
* Added new patch to refactor qcow2 amend options
* Reworked main code implementation to be hopefully cleaner.
* Fixed iotests hopefully.
Best regards,
Maxim Levitsky
Maxim Levitsky (14):
qcrypto/core: add generic infrastructure for crypto options amendment
qcrypto/luks: implement encryption key management
block/amend: add 'force' option
block/amend: separate amend and create options for qemu-img
block/amend: refactor qcow2 amend options
block/crypto: rename two functions
block/crypto: implement the encryption key management
block/qcow2: extend qemu-img amend interface with crypto options
iotests: filter few more luks specific create options
iotests: qemu-img tests for luks key management
block/core: add generic infrastructure for x-blockdev-amend qmp
command
block/crypto: implement blockdev-amend
block/qcow2: implement blockdev-amend
iotests: add tests for blockdev-amend
block.c | 4 +-
block/Makefile.objs | 2 +-
block/amend.c | 108 ++++++++
block/crypto.c | 204 +++++++++++++--
block/crypto.h | 45 +++-
block/qcow2.c | 319 +++++++++++++---------
crypto/block-luks.c | 391 ++++++++++++++++++++++++++-
crypto/block.c | 31 +++
crypto/blockpriv.h | 8 +
include/block/block.h | 1 +
include/block/block_int.h | 24 +-
include/crypto/block.h | 22 ++
qapi/block-core.json | 68 +++++
qapi/crypto.json | 64 +++++
qapi/job.json | 4 +-
qemu-img-cmds.hx | 4 +-
qemu-img.c | 44 +++-
qemu-img.texi | 6 +-
tests/qemu-iotests/049.out | 102 ++++----
tests/qemu-iotests/061.out | 12 +-
tests/qemu-iotests/079.out | 18 +-
tests/qemu-iotests/082.out | 437 +++++++++++++++++++++----------
tests/qemu-iotests/085.out | 38 +--
tests/qemu-iotests/087.out | 6 +-
tests/qemu-iotests/115.out | 2 +-
tests/qemu-iotests/121.out | 4 +-
tests/qemu-iotests/125.out | 192 +++++++-------
tests/qemu-iotests/134.out | 2 +-
tests/qemu-iotests/144.out | 4 +-
tests/qemu-iotests/158.out | 4 +-
tests/qemu-iotests/182.out | 2 +-
tests/qemu-iotests/185.out | 8 +-
tests/qemu-iotests/188.out | 2 +-
tests/qemu-iotests/189.out | 4 +-
tests/qemu-iotests/198.out | 4 +-
tests/qemu-iotests/243.out | 16 +-
tests/qemu-iotests/250.out | 2 +-
tests/qemu-iotests/255.out | 8 +-
tests/qemu-iotests/263.out | 4 +-
tests/qemu-iotests/280.out | 2 +-
tests/qemu-iotests/300 | 207 +++++++++++++++
tests/qemu-iotests/300.out | 99 +++++++
tests/qemu-iotests/301 | 90 +++++++
tests/qemu-iotests/301.out | 30 +++
tests/qemu-iotests/302 | 284 ++++++++++++++++++++
tests/qemu-iotests/302.out | 40 +++
tests/qemu-iotests/303 | 235 +++++++++++++++++
tests/qemu-iotests/303.out | 33 +++
tests/qemu-iotests/common.filter | 6 +-
tests/qemu-iotests/group | 6 +
50 files changed, 2730 insertions(+), 522 deletions(-)
create mode 100644 block/amend.c
create mode 100755 tests/qemu-iotests/300
create mode 100644 tests/qemu-iotests/300.out
create mode 100755 tests/qemu-iotests/301
create mode 100644 tests/qemu-iotests/301.out
create mode 100644 tests/qemu-iotests/302
create mode 100644 tests/qemu-iotests/302.out
create mode 100644 tests/qemu-iotests/303
create mode 100644 tests/qemu-iotests/303.out
--
2.17.2
- [PATCH v2 00/14] LUKS: encryption slot management using amend interface,
Maxim Levitsky <=
- [PATCH v2 01/14] qcrypto/core: add generic infrastructure for crypto options amendment, Maxim Levitsky, 2020/01/30
- [PATCH v2 04/14] block/amend: separate amend and create options for qemu-img, Maxim Levitsky, 2020/01/30
- [PATCH v2 03/14] block/amend: add 'force' option, Maxim Levitsky, 2020/01/30
- [PATCH v2 02/14] qcrypto/luks: implement encryption key management, Maxim Levitsky, 2020/01/30
- [PATCH v2 06/14] block/crypto: rename two functions, Maxim Levitsky, 2020/01/30
- [PATCH v2 07/14] block/crypto: implement the encryption key management, Maxim Levitsky, 2020/01/30
- [PATCH v2 09/14] iotests: filter few more luks specific create options, Maxim Levitsky, 2020/01/30
- [PATCH v2 08/14] block/qcow2: extend qemu-img amend interface with crypto options, Maxim Levitsky, 2020/01/30
- [PATCH v2 05/14] block/amend: refactor qcow2 amend options, Maxim Levitsky, 2020/01/30
- [PATCH v2 11/14] block/core: add generic infrastructure for x-blockdev-amend qmp command, Maxim Levitsky, 2020/01/30