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 |
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 --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
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(+)