[Qemu-devel] [PATCH v2 1/6] qcow2: Fix qcow2_truncate() error return value

Kevin Wolf posted 6 patches 7 years, 7 months ago
[Qemu-devel] [PATCH v2 1/6] qcow2: Fix qcow2_truncate() error return value
Posted by Kevin Wolf 7 years, 7 months ago
If qcow2_alloc_clusters_at() returns an error, we do need to negate it
to get back the positive errno code for error_setg_errno(), but we still
need to return the negative error code.

Fixes: 772d1f973f87269f6a4a4ea4b880680f3779bbdf
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 block/qcow2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/qcow2.c b/block/qcow2.c
index a3a3aa2a97..6b2e1e1058 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -3597,7 +3597,7 @@ static int qcow2_truncate(BlockDriverState *bs, int64_t offset,
         if (clusters_allocated < 0) {
             error_setg_errno(errp, -clusters_allocated,
                              "Failed to allocate data clusters");
-            return -clusters_allocated;
+            return clusters_allocated;
         }
 
         assert(clusters_allocated == nb_new_data_clusters);
-- 
2.13.6


Re: [Qemu-devel] [PATCH v2 1/6] qcow2: Fix qcow2_truncate() error return value
Posted by Stefan Hajnoczi 7 years, 7 months ago
On Tue, Jun 26, 2018 at 04:24:29PM +0200, Kevin Wolf wrote:
> If qcow2_alloc_clusters_at() returns an error, we do need to negate it
> to get back the positive errno code for error_setg_errno(), but we still
> need to return the negative error code.
> 
> Fixes: 772d1f973f87269f6a4a4ea4b880680f3779bbdf
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
>  block/qcow2.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>