qemu-io: Fix handling of bdrv_is_allocated() return value (Kevin Wolf)
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 18 Apr 2009 15:36:19 +0000 (15:36 +0000)
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 18 Apr 2009 15:36:19 +0000 (15:36 +0000)
bdrv_is_allocated() returns a boolean which indicates if the offset is
allocated, not 0 on success and everything else is an error.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7181 c046a42c-6fe2-441c-8c8c-71466251a162

qemu-io.c

index 703326d..750e7ac 100644 (file)
--- a/qemu-io.c
+++ b/qemu-io.c
@@ -794,6 +794,7 @@ alloc_f(int argc, char **argv)
        char s1[64];
        int num;
        int ret;
+       const char *retstr;
 
        offset = cvtnum(argv[1]);
        if (offset & 0x1ff) {
@@ -808,18 +809,15 @@ alloc_f(int argc, char **argv)
                nb_sectors = 1;
 
        ret = bdrv_is_allocated(bs, offset >> 9, nb_sectors, &num);
-       if (ret) {
-               printf("is_allocated: %s", strerror(ret));
-               return 0;
-       }
 
        cvtstr(offset, s1, sizeof(s1));
 
+       retstr = ret ? "allocated" : "not allocated";
        if (nb_sectors == 1)
-               printf("sector allocated at offset %s\n", s1);
+               printf("sector %s at offset %s\n", retstr, s1);
        else
-               printf("%d/%d sectors allocated at offset %s\n",
-                       num, nb_sectors, s1);
+               printf("%d/%d sectors %s at offset %s\n",
+                       num, nb_sectors, retstr, s1);
        return 0;
 }