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>