On 11/20/2015 11:04 AM, Daniel P. Berrange wrote: > Add a 'keyid' parameter that refers to the ID of a > QCryptoSecret instance that provides the encryption key. > > $QEMU \ > -object secret,id=sec0,filename=/home/berrange/encrypted.pw \ > -drive file=/home/berrange/encrypted.qcow2,keyid=sec0 > > Signed-off-by: Daniel P. Berrange <berra...@redhat.com> > --- > block/qcow2.c | 80 > +++++++++++++++++++++++++++++++++++++--------------- > block/qcow2.h | 1 + > qapi/block-core.json | 8 ++++-- > 3 files changed, 64 insertions(+), 25 deletions(-)
> +++ b/qapi/block-core.json > @@ -1698,7 +1698,7 @@ > # Driver specific block device options for qcow. > # > # @keyid: #optional ID of the "secret" object providing the > -# AES decryption key. > +# AES decryption key (since 2.5) > # > # Since: 2.5 I already pointed this out on the previous post, but this hunk is wrong (since the entire BlockdevOptionsQcow struct is new); it instead belongs... > ## > @@ -1742,6 +1742,9 @@ > # caches. The interval is in seconds. The default > value > # is 0 and it disables this feature (since 2.5) > # > +# @keyid: #optional ID of the "secret" object providing the > +# AES decryption key. ...here as part of BlockdevOptionsQcow2. Also, I wonder if inheriting from BlockdevOptionsQcow is any easier here than just declaring keyid directly. > +# > # Since: 1.7 > ## > { 'struct': 'BlockdevOptionsQcow2', > @@ -1754,7 +1757,8 @@ > '*cache-size': 'int', > '*l2-cache-size': 'int', > '*refcount-cache-size': 'int', > - '*cache-clean-interval': 'int' } } > + '*cache-clean-interval': 'int', > + '*keyid': 'str' } } > > > ## > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature