On 7/12/2018 5:33 PM, Alberto Garcia wrote: > On Mon 03 Dec 2018 11:14:55 AM CET, Anton Nefedov wrote: >> Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> >> --- >> block/quorum.c | 19 ++++++++++++++++++- >> 1 file changed, 18 insertions(+), 1 deletion(-) >> >> diff --git a/block/quorum.c b/block/quorum.c >> index 16b3c8067c..d21a6a3b8e 100644 >> --- a/block/quorum.c >> +++ b/block/quorum.c >> @@ -857,6 +857,19 @@ static QemuOptsList quorum_runtime_opts = { >> }, >> }; >> >> +static void quorum_set_supported_flags(BlockDriverState *bs) >> +{ >> + BDRVQuorumState *s = bs->opaque; >> + int i; >> + >> + bs->supported_write_flags = BDRV_REQ_FUA; >> + for (i = 0; i < s->num_children; i++) { >> + bs->supported_write_flags &= >> s->children[i]->bs->supported_write_flags; >> + } >> + >> + bs->supported_write_flags |= BDRV_REQ_WRITE_UNCHANGED; >> +} > > You don't set supported_zero_flags here anymore ? > > Berto >
Yes, I noticed (that late) that quorum doesn't actually implement write_zeroes(). bdrv_co_do_pwrite_zeroes() specifically checks that there must be no supported flags set in such case.