提交 838ab728 编写于 作者: A aliguori

qemu-io: Fix handling of bdrv_is_allocated() return value (Kevin Wolf)

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: NKevin Wolf <kwolf@redhat.com>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7181 c046a42c-6fe2-441c-8c8c-71466251a162
上级 cd33feec
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册