On 14.06.2016 18:24, Daniel P. Berrange wrote: > This is a followup to: > > v1: https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg01723.html > v2: https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg03642.html > > The 'qemu-img info' tool has ability to print format specific > information, eg with qcow2 it reports two extra items: > > $ qemu-img info ~/VirtualMachines/demo.qcow2 > image: /home/berrange/VirtualMachines/demo.qcow2 > file format: qcow2 > virtual size: 3.0G (3221225472 bytes) > disk size: 140K > cluster_size: 65536 > Format specific information: > compat: 0.10 > refcount bits: 16 > > > This is not currently wired up for the LUKS driver. This patch > series adds that support so that we can report useful data about > the LUKS volume such as the crypto algorithm choices, key slot > usage and other volume metadata. > > The first patch extends the crypto API to allow querying of the > format specific metadata > > The second patches extends the block API to allow the LUKS driver > to report the format specific metadata. > > $ qemu-img info ~/VirtualMachines/demo.luks > image: /home/berrange/VirtualMachines/demo.luks > file format: luks > virtual size: 98M (102760448 bytes) > disk size: 100M > encrypted: yes > Format specific information: > ivgen alg: plain64 > hash alg: sha1 > cipher alg: aes-128 > uuid: 6ddee74b-3a22-408c-8909-6789d4fa2594 > cipher mode: xts > slots: > [0]: > active: true > iters: 572706 > key offset: 4096 > stripes: 4000 > [1]: > active: false > key offset: 135168 > [2]: > active: false > key offset: 266240 > [3]: > active: false > key offset: 397312 > [4]: > active: false > key offset: 528384 > [5]: > active: false > key offset: 659456 > [6]: > active: false > key offset: 790528 > [7]: > active: false > key offset: 921600 > payload offset: 2097152 > master key iters: 142375 > > Technically most of the code changes here are in the crypto > layer, rather than the block layer. I'm fine with both patches > going through the block maintainer tree, or can submit a both > patches myself as, for sake of simplicity of merge. > > Changed in v3: > > - Do full struct copy instead of field-by-field copy (Max) > - Simplify handling of linked list pointers (Max) > - Use g_strndup with uuid to guarantee null termination (Max) > - Misc typos (Max) > > Changed in v2: > > - Drop patches related to creating a text output visitor to > format the ImageInfoSpecific data. This will be continued > in a separate patch series > - Fix key offset to be in bytes instead of sectors > - Drop the duplicated ImageInfoSpecificLUKS type and just > directly use QCryptoBlockInfoLUKS type in block layer > - Skip reporting stripes/iters if keyslot is inactive > - Add missing QAPI schema docs > > > > Daniel P. Berrange (2): > crypto: add support for querying parameters for block encryption > block: export LUKS specific data to qemu-img info > > block/crypto.c | 49 ++++++++++++++++++++++++++++++++ > crypto/block-luks.c | 67 ++++++++++++++++++++++++++++++++++++++++++++ > crypto/block.c | 17 +++++++++++ > crypto/blockpriv.h | 4 +++ > include/crypto/block.h | 16 +++++++++++ > qapi/block-core.json | 6 +++- > qapi/crypto.json | 76 > ++++++++++++++++++++++++++++++++++++++++++++++++++ > 7 files changed, 234 insertions(+), 1 deletion(-)
Thanks, I've applied the series to my block branch: https://github.com/XanClic/qemu/commits/block Max
signature.asc
Description: OpenPGP digital signature
