All of lore.kernel.org
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: qemu-block@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
	qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>
Subject: [PULL 17/22] qcow2: Return the original error code in qcow2_co_pwrite_zeroes()
Date: Tue, 15 Sep 2020 12:46:22 +0200	[thread overview]
Message-ID: <20200915104627.699552-18-mreitz@redhat.com> (raw)
In-Reply-To: <20200915104627.699552-1-mreitz@redhat.com>

From: Alberto Garcia <berto@igalia.com>

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 <berto@igalia.com>
Message-Id: <20200909123739.719-1-berto@igalia.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
 block/qcow2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/qcow2.c b/block/qcow2.c
index d241fb734c..77c43ce178 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -3907,7 +3907,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);
-- 
2.26.2



  parent reply	other threads:[~2020-09-15 10:51 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-15 10:46 [PULL 00/22] Block patches Max Reitz
2020-09-15 10:46 ` [PULL 01/22] qemu-iotests: Fix FilePaths cleanup Max Reitz
2020-09-15 10:46 ` [PULL 02/22] qemu-iotests: Fix FilePaths docstring Max Reitz
2020-09-15 10:46 ` [PULL 03/22] qemu-iotests: Support varargs syntax in FilePaths Max Reitz
2020-09-15 10:46 ` [PULL 04/22] qemu-iotests: Merge FilePaths and FilePath Max Reitz
2020-09-15 10:46 ` [PULL 05/22] qemu-iotests: Simplify FilePath __init__ Max Reitz
2020-09-15 10:46 ` [PULL 06/22] block/quorum.c: stable children names Max Reitz
2020-09-15 10:46 ` [PULL 07/22] qemu-img: avoid unaligned read requests during convert Max Reitz
2020-09-15 10:46 ` [PULL 08/22] qcow2: Use macros for the L1, refcount and bitmap table entry sizes Max Reitz
2020-09-15 10:46 ` [PULL 09/22] qcow2: Fix removal of list members from BDRVQcow2State.cluster_allocs Max Reitz
2020-09-15 10:46 ` [PULL 10/22] qcow2: Don't check nb_clusters when removing l2meta from the list Max Reitz
2020-09-15 10:46 ` [PULL 11/22] qcow2: Rewrite the documentation of qcow2_alloc_cluster_offset() Max Reitz
2020-09-15 10:46 ` [PULL 12/22] qemu-img: Explicit number replaced by a constant Max Reitz
2020-09-15 10:46 ` [PULL 13/22] iotests: Skip test_stream_parallel in test 030 when doing "make check" Max Reitz
2020-09-15 10:46 ` [PULL 14/22] block/vhdx: Support vhdx image only with 512 bytes logical sector size Max Reitz
2020-09-15 10:46 ` [PULL 15/22] qcow2: Handle QCowL2Meta on error in preallocate_co() Max Reitz
2020-09-15 10:46 ` [PULL 16/22] qcow2: Make qcow2_free_any_clusters() free only one cluster Max Reitz
2020-09-15 10:46 ` Max Reitz [this message]
2020-09-15 10:46 ` [PULL 18/22] block/rbd: remove runtime_opts Max Reitz
2020-09-15 10:46 ` [PULL 19/22] block/qcow: remove runtime opts Max Reitz
2020-09-15 10:46 ` [PULL 20/22] qcow2: Make preallocate_co() resize the image to the correct size Max Reitz
2020-09-15 10:46 ` [PULL 21/22] qcow2: Convert qcow2_alloc_cluster_offset() into qcow2_alloc_host_offset() Max Reitz
2020-09-15 10:46 ` [PULL 22/22] block/rbd: add 'namespace' to qemu_rbd_strong_runtime_opts[] Max Reitz
2020-09-15 12:04 ` [PULL 00/22] Block patches Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200915104627.699552-18-mreitz@redhat.com \
    --to=mreitz@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.