mirror of https://gitlab.com/qemu-project/qemu
quorum: Require WRITE perm with rewrite-corrupted
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> Message-Id: <20201113211718.261671-2-mreitz@redhat.com> Reviewed-by: Alberto Garcia <berto@igalia.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
bd89f93603
commit
9ca5b0e842
|
@ -1163,7 +1163,12 @@ static void quorum_child_perm(BlockDriverState *bs, BdrvChild *c,
|
||||||
uint64_t perm, uint64_t shared,
|
uint64_t perm, uint64_t shared,
|
||||||
uint64_t *nperm, uint64_t *nshared)
|
uint64_t *nperm, uint64_t *nshared)
|
||||||
{
|
{
|
||||||
|
BDRVQuorumState *s = bs->opaque;
|
||||||
|
|
||||||
*nperm = perm & DEFAULT_PERM_PASSTHROUGH;
|
*nperm = perm & DEFAULT_PERM_PASSTHROUGH;
|
||||||
|
if (s->rewrite_corrupted) {
|
||||||
|
*nperm |= BLK_PERM_WRITE;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We cannot share RESIZE or WRITE, as this would make the
|
* We cannot share RESIZE or WRITE, as this would make the
|
||||||
|
|
Loading…
Reference in New Issue