Patchwork qcow2: Add error messages in qcow2_truncate

login
register
mail settings
Submitter Kevin Wolf
Date March 6, 2012, 11:48 a.m.
Message ID <1331034488-12288-1-git-send-email-kwolf@redhat.com>
Download mbox | patch
Permalink /patch/144928/
State New
Headers show

Comments

Kevin Wolf - March 6, 2012, 11:48 a.m.
qemu-img resize has some limitations with qcow2, but the user is only
told that "this image format does not support resize". Quite confusing,
so add some more detailed error_report() calls and change "this image
format" into "this image".

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 block/qcow2.c |    3 +++
 qemu-img.c    |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)
Stefan Hajnoczi - March 6, 2012, 1:33 p.m.
On Tue, Mar 6, 2012 at 11:48 AM, Kevin Wolf <kwolf@redhat.com> wrote:
> qemu-img resize has some limitations with qcow2, but the user is only
> told that "this image format does not support resize". Quite confusing,
> so add some more detailed error_report() calls and change "this image
> format" into "this image".
>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
>  block/qcow2.c |    3 +++
>  qemu-img.c    |    2 +-
>  2 files changed, 4 insertions(+), 1 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>

Patch

diff --git a/block/qcow2.c b/block/qcow2.c
index 6f53ec6..7aece65 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -1120,16 +1120,19 @@  static int qcow2_truncate(BlockDriverState *bs, int64_t offset)
     int ret, new_l1_size;
 
     if (offset & 511) {
+        error_report("The new size must be a multiple of 512");
         return -EINVAL;
     }
 
     /* cannot proceed if image has snapshots */
     if (s->nb_snapshots) {
+        error_report("Can't resize an image which has snapshots");
         return -ENOTSUP;
     }
 
     /* shrinking is currently not supported */
     if (offset < bs->total_sectors * 512) {
+        error_report("qcow2 doesn't support shrinking images yet");
         return -ENOTSUP;
     }
 
diff --git a/qemu-img.c b/qemu-img.c
index 8df3564..0e48b35 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -1614,7 +1614,7 @@  static int img_resize(int argc, char **argv)
         printf("Image resized.\n");
         break;
     case -ENOTSUP:
-        error_report("This image format does not support resize");
+        error_report("This image does not support resize");
         break;
     case -EACCES:
         error_report("Image is read-only");