xemu/qapi
Daniel P. Berrange c7c4cf498f block: export LUKS specific data to qemu-img info
The qemu-img info command has the ability to expose format
specific metadata about volumes. Wire up this facility for
the LUKS driver to report on cipher configuration and key
slot usage.

    $ 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

One somewhat undesirable artifact is that the data fields are
printed out in (apparently) random order. This will be addressed
later by changing the way the block layer pretty-prints the
image specific data.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-id: 1469192015-16487-3-git-send-email-berrange@redhat.com
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
2016-07-26 17:46:37 +02:00
..
Makefile.objs qapi: Add new clone visitor 2016-07-06 10:52:04 +02:00
block-core.json block: export LUKS specific data to qemu-img info 2016-07-26 17:46:37 +02:00
block.json qmp event: Refactor QUORUM_REPORT_BAD 2016-03-14 16:46:43 +01:00
common.json kvm: add support for -machine kernel_irqchip=split 2015-12-17 17:15:40 +01:00
crypto.json crypto: add support for querying parameters for block encryption 2016-07-26 17:46:37 +02:00
event.json qmp event: Refactor QUORUM_REPORT_BAD 2016-03-14 16:46:43 +01:00
introspect.json qapi: Use anonymous bases in QMP flat unions 2016-03-18 10:29:26 +01:00
opts-visitor.c opts-visitor: Favor new visit_free() function 2016-07-06 10:52:04 +02:00
qapi-clone-visitor.c qapi: Add new clone visitor 2016-07-06 10:52:04 +02:00
qapi-dealloc-visitor.c qapi: Add new visit_free() function 2016-07-06 10:52:04 +02:00
qapi-util.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
qapi-visit-core.c qapi: Add new clone visitor 2016-07-06 10:52:04 +02:00
qmp-dispatch.c qapi: Improve use of qmp/types.h 2016-07-06 10:52:03 +02:00
qmp-event.c qapi: Clean up includes 2016-02-04 17:41:30 +00:00
qmp-input-visitor.c qapi: change QmpInputVisitor to QSLIST 2016-07-19 13:21:08 +02:00
qmp-output-visitor.c qapi: change QmpOutputVisitor to QSLIST 2016-07-19 13:21:08 +02:00
qmp-registry.c all: Remove unnecessary glib.h includes 2016-06-07 18:19:24 +03:00
rocker.json qmp/hmp: add rocker device support 2015-06-12 13:42:17 +01:00
string-input-visitor.c string-input-visitor: Favor new visit_free() function 2016-07-06 10:52:04 +02:00
string-output-visitor.c qapi: Add new visit_complete() function 2016-07-06 10:52:04 +02:00
trace.json trace: Add QAPI/QMP interfaces to query and control per-vCPU tracing state 2016-07-18 18:23:12 +01:00