aboutsummaryrefslogtreecommitdiff
path: root/qom
diff options
context:
space:
mode:
authorMaxim Levitsky <mlevitsk@redhat.com>2020-06-25 14:55:42 +0200
committerMax Reitz <mreitz@redhat.com>2020-07-06 08:49:28 +0200
commitbbfdae91fb68783fd54a0f817e3dd9b1c6fe8f8a (patch)
tree0c4f99d982af0376f8e9aa38f7250d57b213d121 /qom
parente0d0ddc591a079d2a3da6aa913ba7dd9551fb5ef (diff)
downloadqemu-bbfdae91fb68783fd54a0f817e3dd9b1c6fe8f8a.zip
qemu-bbfdae91fb68783fd54a0f817e3dd9b1c6fe8f8a.tar.gz
qemu-bbfdae91fb68783fd54a0f817e3dd9b1c6fe8f8a.tar.bz2
block/crypto: implement the encryption key management
This implements the encryption key management using the generic code in qcrypto layer and exposes it to the user via qemu-img This code adds another 'write_func' because the initialization write_func works directly on the underlying file, and amend works on instance of luks device. This commit also adds a 'hack/workaround' I and Kevin Wolf (thanks) made to make the driver both support write sharing (to avoid breaking the users), and be safe against concurrent metadata update (the keyslots) Eventually the write sharing for luks driver will be deprecated and removed together with this hack. The hack is that we ask (as a format driver) for BLK_PERM_CONSISTENT_READ and then when we want to update the keys, we unshare that permission. So if someone else has the image open, even readonly, encryption key update will fail gracefully. Also thanks to Daniel Berrange for the idea of unsharing read, rather that write permission which allows to avoid cases when the other user had opened the image read-only. Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Message-Id: <20200608094030.670121-8-mlevitsk@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'qom')
0 files changed, 0 insertions, 0 deletions