[dm-crypt] [ANNOUNCE] LUKSMeta

Nathaniel McCallum npmccallum at redhat.com
Fri May 13 18:01:06 CEST 2016


Hi everyone! Several projects that I am working on or related to
require the ability to store some small metadata that is accessable
before the LUKS volume is unlocked. Since this was not possible with
LUKSv1, and we couldn't wait until LUKSv2, we created a small library
called LUKSMeta.

This simple library allows an application developer to store some
metadata in the gap in the LUKSv1 header (between the end of the
keyslots and the start of the payloadOffset). There are up to eight
"slots" of metadata, similar to the eight keyslots of LUKS. Each slot
is typed by a 16-byte UUID, so that applications don't stomp on each
others' data. Both the LUKSMeta header and the data in each slot is
checksummed (CRC32c) to detect data corruption.

There are four simple functions:

* luksmeta_init() - Write the LUKSMeta header to disk
* luksmeta_get() - Read data/uuid from a LUKSMeta slot
* luksmeta_set() - Write data/uuid to a LUKSMeta slot
* luksmeta_del() - Clear (zero) a LUKSMeta slot

More detailed documentation is available in the header:

I have not made the first release, but I would like to do so soon. I
welcome your review/feedback. Thanks!


More information about the dm-crypt mailing list