On Thu, Jan 4, 2024 at 10:51 PM Daniel P. Berrangé <berra...@redhat.com> wrote:
> On Mon, Dec 25, 2023 at 01:45:06PM +0800, Hyman Huang wrote: > > Introduce 'header' field in BlockdevCreateOptionsLUKS to support > > detached LUKS header creation. Meanwhile, introduce header-related > > field in QCryptoBlock. > > > > Signed-off-by: Hyman Huang <yong.hu...@smartx.com> > > --- > > crypto/blockpriv.h | 3 +++ > > qapi/block-core.json | 3 +++ > > qapi/crypto.json | 5 ++++- > > 3 files changed, 10 insertions(+), 1 deletion(-) > > > > diff --git a/crypto/blockpriv.h b/crypto/blockpriv.h > > index 3c7ccea504..6289aea961 100644 > > --- a/crypto/blockpriv.h > > +++ b/crypto/blockpriv.h > > @@ -42,6 +42,9 @@ struct QCryptoBlock { > > size_t niv; > > uint64_t payload_offset; /* In bytes */ > > uint64_t sector_size; /* In bytes */ > > + > > + bool detached_header; /* True if disk has a detached LUKS header */ > > + uint64_t detached_header_size; /* LUKS header size plus key slot > size */ > > This field can be replaced by a local variable I believe. > > > }; > > > > struct QCryptoBlockDriver { > > diff --git a/qapi/block-core.json b/qapi/block-core.json > > index 9ac256c489..8aec179926 100644 > > --- a/qapi/block-core.json > > +++ b/qapi/block-core.json > > @@ -4948,6 +4948,8 @@ > > # @file: Node to create the image format on, mandatory except when > > # 'preallocation' is not requested > > # > > +# @header: Detached LUKS header node to format. (since 9.0) > > +# > > # @size: Size of the virtual disk in bytes > > # > > # @preallocation: Preallocation mode for the new image (since: 4.2) > > @@ -4958,6 +4960,7 @@ > > { 'struct': 'BlockdevCreateOptionsLUKS', > > 'base': 'QCryptoBlockCreateOptionsLUKS', > > 'data': { '*file': 'BlockdevRef', > > + '*header': 'BlockdevRef', > > 'size': 'size', > > '*preallocation': 'PreallocMode' } } > > > > diff --git a/qapi/crypto.json b/qapi/crypto.json > > index fd3d46ebd1..6b4e86cb81 100644 > > --- a/qapi/crypto.json > > +++ b/qapi/crypto.json > > @@ -195,10 +195,13 @@ > > # decryption key. Mandatory except when probing image for > > # metadata only. > > # > > +# @detached-header: if true, disk has detached LUKS header. > > +# > > # Since: 2.6 > > ## > > { 'struct': 'QCryptoBlockOptionsLUKS', > > - 'data': { '*key-secret': 'str' }} > > + 'data': { '*key-secret': 'str', > > + '*detached-header': 'bool' }} > > I don't think we need this change if we pass this info as an enum flag > Agree. > > > > ## > > # @QCryptoBlockCreateOptionsLUKS: > > -- > > 2.39.1 > > > > With regards, > Daniel > -- > |: https://berrange.com -o- > https://www.flickr.com/photos/dberrange :| > |: https://libvirt.org -o- > https://fstop138.berrange.com :| > |: https://entangle-photo.org -o- > https://www.instagram.com/dberrange :| > > -- Best regards