From f864b6b5b9dd5bc7c853c002657d8497d285cee4 Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Fri, 28 Sep 2018 06:09:52 +0100 Subject: [PATCH 1/3] luks: Allow share-rw=on MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Fam Zheng Message-id: <20180928060952.8616-2-famz@redhat.com> Patchwork-id: 82311 O-Subject: [RHEL8/rhel qemu-kvm PATCH 1/1] luks: Allow share-rw=on Bugzilla: 1629701 RH-Acked-by: Laszlo Ersek RH-Acked-by: John Snow RH-Acked-by: Thomas Huth Format drivers such as qcow2 don't allow sharing the same image between two QEMU instances in order to prevent image corruptions, because of metadata cache. LUKS driver don't modify metadata except for when creating image, so it is safe to relax the permission. This makes share-rw=on property work on virtual devices. Suggested-by: Daniel P. Berrangé Signed-off-by: Fam Zheng Reviewed-by: Daniel P. Berrangé Signed-off-by: Kevin Wolf (cherry picked from commit 497da8236ab2663a8108858ba7ea59aac21c5fe6) Signed-off-by: Fam Zheng Signed-off-by: Danilo C. L. de Paula --- block/crypto.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/block/crypto.c b/block/crypto.c index 02f04f3..0bb0db6 100644 --- a/block/crypto.c +++ b/block/crypto.c @@ -698,7 +698,9 @@ BlockDriver bdrv_crypto_luks = { .bdrv_probe = block_crypto_probe_luks, .bdrv_open = block_crypto_open_luks, .bdrv_close = block_crypto_close, - .bdrv_child_perm = bdrv_format_default_perms, + /* This driver doesn't modify LUKS metadata except when creating image. + * Allow share-rw=on as a special case. */ + .bdrv_child_perm = bdrv_filter_default_perms, .bdrv_co_create = block_crypto_co_create_luks, .bdrv_co_create_opts = block_crypto_co_create_opts_luks, .bdrv_co_truncate = block_crypto_co_truncate, -- 1.8.3.1