summaryrefslogtreecommitdiff
path: root/crypto/block.c
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2015-10-24 11:55:48 +0100
committerDaniel P. Berrange <berrange@redhat.com>2016-03-17 16:50:40 +0000
commit3e308f20edfd65a21c98eb2d8079dacd47957444 (patch)
treefc2adad357333b48dc7317340c194c55cfd3f7fb /crypto/block.c
parent7d9690148ac25bc755a759adab7d63f517d092b1 (diff)
downloadqemu-3e308f20edfd65a21c98eb2d8079dacd47957444.tar.gz
crypto: implement the LUKS block encryption format
Provide a block encryption implementation that follows the LUKS/dm-crypt specification. This supports all combinations of hash, cipher algorithm, cipher mode and iv generator that are implemented by the current crypto layer. There is support for opening existing volumes formatted by dm-crypt, and for formatting new volumes. In the latter case it will only use key slot 0. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'crypto/block.c')
-rw-r--r--crypto/block.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/block.c b/crypto/block.c
index 3c27ef0e8a..524ed91db8 100644
--- a/crypto/block.c
+++ b/crypto/block.c
@@ -21,9 +21,11 @@
#include "qemu/osdep.h"
#include "crypto/blockpriv.h"
#include "crypto/block-qcow.h"
+#include "crypto/block-luks.h"
static const QCryptoBlockDriver *qcrypto_block_drivers[] = {
[Q_CRYPTO_BLOCK_FORMAT_QCOW] = &qcrypto_block_driver_qcow,
+ [Q_CRYPTO_BLOCK_FORMAT_LUKS] = &qcrypto_block_driver_luks,
};