The code for creating LUKS devices references a 'detached-header'
option in the QemuOpts data, but does not consume (remove) the
option.
Thus when the code later tries to convert the remaining unused
QemuOpts into a QCryptoBlockCreateOptions struct, an error is
reported by the QAPI code that 'detached-header' is not a valid
field.
This fixes a regression caused by
commit e818c01ae6e7c54c7019baaf307be59d99ce80b9
Author: Daniel P. Berrangé <berrange@redhat.com>
Date: Mon Feb 19 15:12:59 2024 +0000
qapi: drop unused QCryptoBlockCreateOptionsLUKS.detached-header
which identified that the QAPI field was unused, but failed to
realize the QemuOpts -> QCryptoBlockCreateOptions conversion
was seeing the left-over 'detached-header' optino which had not
been removed from QemuOpts.
This problem was identified by the 'luks-detached-header' I/O
test, but unfortunate I/O tests are not run regularly for the
LUKS format.
Fixes: e818c01ae6e7c54c7019baaf307be59d99ce80b9
Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
block/crypto.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/crypto.c b/block/crypto.c
index d4226cc68a..17b4749a1e 100644
--- a/block/crypto.c
+++ b/block/crypto.c
@@ -792,7 +792,7 @@ block_crypto_co_create_opts_luks(BlockDriver *drv, const char *filename,
char *buf = NULL;
int64_t size;
bool detached_hdr =
- qemu_opt_get_bool(opts, "detached-header", false);
+ qemu_opt_get_bool_del(opts, "detached-header", false);
unsigned int cflags = 0;
int ret;
Error *local_err = NULL;
--
2.50.1
On Fri, Sep 19, 2025 at 11:38:10AM +0100, Daniel P. Berrangé wrote: > The code for creating LUKS devices references a 'detached-header' > option in the QemuOpts data, but does not consume (remove) the > option. > > Thus when the code later tries to convert the remaining unused > QemuOpts into a QCryptoBlockCreateOptions struct, an error is > reported by the QAPI code that 'detached-header' is not a valid > field. > > This fixes a regression caused by > > commit e818c01ae6e7c54c7019baaf307be59d99ce80b9 > Author: Daniel P. Berrangé <berrange@redhat.com> > Date: Mon Feb 19 15:12:59 2024 +0000 > > qapi: drop unused QCryptoBlockCreateOptionsLUKS.detached-header > > which identified that the QAPI field was unused, but failed to > realize the QemuOpts -> QCryptoBlockCreateOptions conversion > was seeing the left-over 'detached-header' optino which had not option > been removed from QemuOpts. > > This problem was identified by the 'luks-detached-header' I/O > test, but unfortunate I/O tests are not run regularly for the > LUKS format. > > Fixes: e818c01ae6e7c54c7019baaf307be59d99ce80b9 > Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > --- > block/crypto.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Eric Blake <eblake@redhat.com> > > diff --git a/block/crypto.c b/block/crypto.c > index d4226cc68a..17b4749a1e 100644 > --- a/block/crypto.c > +++ b/block/crypto.c > @@ -792,7 +792,7 @@ block_crypto_co_create_opts_luks(BlockDriver *drv, const char *filename, > char *buf = NULL; > int64_t size; > bool detached_hdr = > - qemu_opt_get_bool(opts, "detached-header", false); > + qemu_opt_get_bool_del(opts, "detached-header", false); > unsigned int cflags = 0; > int ret; > Error *local_err = NULL; > -- > 2.50.1 > > -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org
Am 22.09.2025 um 14:37 hat Eric Blake geschrieben: > On Fri, Sep 19, 2025 at 11:38:10AM +0100, Daniel P. Berrangé wrote: > > The code for creating LUKS devices references a 'detached-header' > > option in the QemuOpts data, but does not consume (remove) the > > option. > > > > Thus when the code later tries to convert the remaining unused > > QemuOpts into a QCryptoBlockCreateOptions struct, an error is > > reported by the QAPI code that 'detached-header' is not a valid > > field. > > > > This fixes a regression caused by > > > > commit e818c01ae6e7c54c7019baaf307be59d99ce80b9 > > Author: Daniel P. Berrangé <berrange@redhat.com> > > Date: Mon Feb 19 15:12:59 2024 +0000 > > > > qapi: drop unused QCryptoBlockCreateOptionsLUKS.detached-header > > > > which identified that the QAPI field was unused, but failed to > > realize the QemuOpts -> QCryptoBlockCreateOptions conversion > > was seeing the left-over 'detached-header' optino which had not > > option > > > been removed from QemuOpts. > > > > This problem was identified by the 'luks-detached-header' I/O > > test, but unfortunate I/O tests are not run regularly for the I assume this should be "unfortunately". > > LUKS format. > > > > Fixes: e818c01ae6e7c54c7019baaf307be59d99ce80b9 > > Reported-by: Thomas Huth <thuth@redhat.com> > > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > > --- > > block/crypto.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > Reviewed-by: Eric Blake <eblake@redhat.com> Thanks, applied to the block branch. Kevin
© 2016 - 2026 Red Hat, Inc.