qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [PATCH Resend] block/quorum: Provide .bdrv_co_flush instead of .bdrv


From: Zhang, Chen
Subject: RE: [PATCH Resend] block/quorum: Provide .bdrv_co_flush instead of .bdrv_co_flush_to_disk
Date: Wed, 19 May 2021 01:40:01 +0000


> -----Original Message-----
> From: Lukas Straub <lukasstraub2@web.de>
> Sent: Tuesday, May 18, 2021 7:42 PM
> To: qemu-devel <qemu-devel@nongnu.org>
> Cc: qemu-block <qemu-block@nongnu.org>; Alberto Garcia
> <berto@igalia.com>; Kevin Wolf <kwolf@redhat.com>; Max Reitz
> <mreitz@redhat.com>; Minghao Yuan <meeho@qq.com>; Zhang, Chen
> <chen.zhang@intel.com>; Zhang Chen <zhangckid@gmail.com>
> Subject: [PATCH Resend] block/quorum: Provide .bdrv_co_flush instead
> of .bdrv_co_flush_to_disk
> 
> The quorum block driver uses a custom flush callback to handle the case
> when some children return io errors. In that case it still returns success if
> enough children are healthy.
> However, it provides it as the .bdrv_co_flush_to_disk callback, not
> as .bdrv_co_flush. This causes the block layer to do it's own generic flushing
> for the children instead, which doesn't handle errors properly.
> 
> Fix this by providing .bdrv_co_flush instead of .bdrv_co_flush_to_disk so the
> block layer uses the custom flush callback.
> 
> Signed-off-by: Lukas Straub <lukasstraub2@web.de>
> Reported-by: Minghao Yuan <meeho@qq.com>

Tested-by: Zhang Chen <chen.zhang@intel.com>

Thanks
Chen

> ---
> 
> Resend: git send-mail put a newline in the Subject: header so the mailing list
> rejected it.
> 
>  block/quorum.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/block/quorum.c b/block/quorum.c index cfc1436abb..f2c0805000
> 100644
> --- a/block/quorum.c
> +++ b/block/quorum.c
> @@ -1279,7 +1279,7 @@ static BlockDriver bdrv_quorum = {
>      .bdrv_dirname                       = quorum_dirname,
>      .bdrv_co_block_status               = quorum_co_block_status,
> 
> -    .bdrv_co_flush_to_disk              = quorum_co_flush,
> +    .bdrv_co_flush                      = quorum_co_flush,
> 
>      .bdrv_getlength                     = quorum_getlength,
> 
> --
> 2.31.1



reply via email to

[Prev in Thread] Current Thread [Next in Thread]