diff mbox series

[1/3] quorum: Require WRITE perm with rewrite-corrupted

Message ID 20201113211718.261671-2-mreitz@redhat.com (mailing list archive)
State New, archived
Headers show
Series quorum: Require WRITE perm with rewrite-corrupted | expand

Commit Message

Max Reitz Nov. 13, 2020, 9:17 p.m. UTC
Using rewrite-corrupted means quorum may issue writes to its children
just from receiving read requests from its parents.  Thus, it must take
the WRITE permission when rewrite-corrupted is used.

Signed-off-by: Max Reitz <mreitz@redhat.com>
---
 block/quorum.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Alberto Garcia Nov. 16, 2020, 12:22 p.m. UTC | #1
On Fri 13 Nov 2020 10:17:16 PM CET, Max Reitz wrote:
> Using rewrite-corrupted means quorum may issue writes to its children
> just from receiving read requests from its parents.  Thus, it must take
> the WRITE permission when rewrite-corrupted is used.
>
> Signed-off-by: Max Reitz <mreitz@redhat.com>

Reviewed-by: Alberto Garcia <berto@igalia.com>

Berto
diff mbox series

Patch

diff --git a/block/quorum.c b/block/quorum.c
index b70d365ba9..01e49e94a3 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -1195,7 +1195,12 @@  static void quorum_child_perm(BlockDriverState *bs, BdrvChild *c,
                               uint64_t perm, uint64_t shared,
                               uint64_t *nperm, uint64_t *nshared)
 {
+    BDRVQuorumState *s = bs->opaque;
+
     *nperm = perm & DEFAULT_PERM_PASSTHROUGH;
+    if (s->rewrite_corrupted) {
+        *nperm |= BLK_PERM_WRITE;
+    }
 
     /*
      * We cannot share RESIZE or WRITE, as this would make the