diff options
| author | Peter Maydell | 2016-07-26 19:22:49 +0200 |
|---|---|---|
| committer | Peter Maydell | 2016-07-26 19:22:49 +0200 |
| commit | c1fdfe9fcaf4e47ec3def98c5a7c52d2cae6c511 (patch) | |
| tree | e930fed8593d6842ea04099bf29867b1ec2e65f4 /qapi | |
| parent | Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.7-20160726' into... (diff) | |
| parent | iotest: fix python based IO tests (diff) | |
| download | qemu-c1fdfe9fcaf4e47ec3def98c5a7c52d2cae6c511.tar.gz qemu-c1fdfe9fcaf4e47ec3def98c5a7c52d2cae6c511.tar.xz qemu-c1fdfe9fcaf4e47ec3def98c5a7c52d2cae6c511.zip | |
Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2016-07-26' into staging
Block patches for 2.7.0-rc1
# gpg: Signature made Tue 26 Jul 2016 18:11:36 BST
# gpg: using RSA key 0x3BB14202E838ACAD
# gpg: Good signature from "Max Reitz <mreitz@redhat.com>"
# Primary key fingerprint: 91BE B60A 30DB 3E88 57D1 1829 F407 DB00 61D5 CF40
# Subkey fingerprint: 58B3 81CE 2DC8 9CF9 9730 EE64 3BB1 4202 E838 ACAD
* remotes/maxreitz/tags/pull-block-2016-07-26:
iotest: fix python based IO tests
block: export LUKS specific data to qemu-img info
crypto: add support for querying parameters for block encryption
AioContext: correct comments
qcow2: do not allocate extra memory
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'qapi')
| -rw-r--r-- | qapi/block-core.json | 6 | ||||
| -rw-r--r-- | qapi/crypto.json | 87 |
2 files changed, 92 insertions, 1 deletions
diff --git a/qapi/block-core.json b/qapi/block-core.json index f462345ca3..d4bab5d991 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -85,7 +85,11 @@ { 'union': 'ImageInfoSpecific', 'data': { 'qcow2': 'ImageInfoSpecificQCow2', - 'vmdk': 'ImageInfoSpecificVmdk' + 'vmdk': 'ImageInfoSpecificVmdk', + # If we need to add block driver specific parameters for + # LUKS in future, then we'll subclass QCryptoBlockInfoLUKS + # to define a ImageInfoSpecificLUKS + 'luks': 'QCryptoBlockInfoLUKS' } } ## diff --git a/qapi/crypto.json b/qapi/crypto.json index 4c4a3e07f4..34d2583154 100644 --- a/qapi/crypto.json +++ b/qapi/crypto.json @@ -224,3 +224,90 @@ 'discriminator': 'format', 'data': { 'qcow': 'QCryptoBlockOptionsQCow', 'luks': 'QCryptoBlockCreateOptionsLUKS' } } + + +## +# QCryptoBlockInfoBase: +# +# The common information that applies to all full disk +# encryption formats +# +# @format: the encryption format +# +# Since: 2.7 +## +{ 'struct': 'QCryptoBlockInfoBase', + 'data': { 'format': 'QCryptoBlockFormat' }} + + +## +# QCryptoBlockInfoLUKSSlot: +# +# Information about the LUKS block encryption key +# slot options +# +# @active: whether the key slot is currently in use +# @key-offset: offset to the key material in bytes +# @iters: #optional number of PBKDF2 iterations for key material +# @stripes: #optional number of stripes for splitting key material +# +# Since: 2.7 +## +{ 'struct': 'QCryptoBlockInfoLUKSSlot', + 'data': {'active': 'bool', + '*iters': 'int', + '*stripes': 'int', + 'key-offset': 'int' } } + + +## +# QCryptoBlockInfoLUKS: +# +# Information about the LUKS block encryption options +# +# @cipher-alg: the cipher algorithm for data encryption +# @cipher-mode: the cipher mode for data encryption +# @ivgen-alg: the initialization vector generator +# @ivgen-hash-alg: #optional the initialization vector generator hash +# @hash-alg: the master key hash algorithm +# @payload-offset: offset to the payload data in bytes +# @master-key-iters: number of PBKDF2 iterations for key material +# @uuid: unique identifier for the volume +# @slots: information about each key slot +# +# Since: 2.7 +## +{ 'struct': 'QCryptoBlockInfoLUKS', + 'data': {'cipher-alg': 'QCryptoCipherAlgorithm', + 'cipher-mode': 'QCryptoCipherMode', + 'ivgen-alg': 'QCryptoIVGenAlgorithm', + '*ivgen-hash-alg': 'QCryptoHashAlgorithm', + 'hash-alg': 'QCryptoHashAlgorithm', + 'payload-offset': 'int', + 'master-key-iters': 'int', + 'uuid': 'str', + 'slots': [ 'QCryptoBlockInfoLUKSSlot' ] }} + +## +# QCryptoBlockInfoQCow: +# +# Information about the QCow block encryption options +# +# Since: 2.7 +## +{ 'struct': 'QCryptoBlockInfoQCow', + 'data': { }} + + +## +# QCryptoBlockInfo: +# +# Information about the block encryption options +# +# Since: 2.7 +## +{ 'union': 'QCryptoBlockInfo', + 'base': 'QCryptoBlockInfoBase', + 'discriminator': 'format', + 'data': { 'qcow': 'QCryptoBlockInfoQCow', + 'luks': 'QCryptoBlockInfoLUKS' } } |
