On 9/9/20 2:37 PM, Alberto Garcia wrote:
> This function checks the current status of a (sub)cluster in order to
> see if an unaligned 'write zeroes' request can be done efficiently by
> simply updating the L2 metadata and without having to write actual
> zeroes to disk.
> 
> If the situation does not allow using the fast path then the function
> returns -ENOTSUP and the caller falls back to writing zeroes.
> 
> If can happen however that the aforementioned check returns an actual
> error code so in this case we should pass it to the caller.
> 
> Signed-off-by: Alberto Garcia <be...@igalia.com>
> ---
>  block/qcow2.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/block/qcow2.c b/block/qcow2.c
> index da56b1a4df..ca46cbd795 100644
> --- a/block/qcow2.c
> +++ b/block/qcow2.c
> @@ -3916,7 +3916,7 @@ static coroutine_fn int 
> qcow2_co_pwrite_zeroes(BlockDriverState *bs,
>               type != QCOW2_SUBCLUSTER_ZERO_PLAIN &&
>               type != QCOW2_SUBCLUSTER_ZERO_ALLOC)) {
>              qemu_co_mutex_unlock(&s->lock);
> -            return -ENOTSUP;
> +            return ret < 0 ? ret : -ENOTSUP;
>          }
>      } else {
>          qemu_co_mutex_lock(&s->lock);
> 

Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com>


Reply via email to