qcow2: Fix warnings in check_refcount() (Kevin Wolf)

From: Kevin Wolf <kwolf@redhat.com>

This code is currently only compiled when DEBUG_ALLOC is defined, so you
usually don't see compiler warnings on it. This patch series wants to enable
the code, so fix the format string warnings first.

While we're at it, let's print error messages to stderr.

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@7213 c046a42c-6fe2-441c-8c8c-71466251a162
master
aliguori 2009-04-21 23:11:45 +00:00
parent 11c2fd3e01
commit 8ddbc04f06
1 changed files with 13 additions and 10 deletions

View File

@ -2583,10 +2583,12 @@ static void inc_refcounts(BlockDriverState *bs,
cluster_offset += s->cluster_size) {
k = cluster_offset >> s->cluster_bits;
if (k < 0 || k >= refcount_table_size) {
printf("ERROR: invalid cluster offset=0x%llx\n", cluster_offset);
fprintf(stderr, "ERROR: invalid cluster offset=0x%" PRIx64 "\n",
cluster_offset);
} else {
if (++refcount_table[k] == 0) {
printf("ERROR: overflow cluster offset=0x%llx\n", cluster_offset);
fprintf(stderr, "ERROR: overflow cluster offset=0x%" PRIx64
"\n", cluster_offset);
}
}
}
@ -2623,8 +2625,8 @@ static int check_refcounts_l1(BlockDriverState *bs,
if (check_copied) {
refcount = get_refcount(bs, (l2_offset & ~QCOW_OFLAG_COPIED) >> s->cluster_bits);
if ((refcount == 1) != ((l2_offset & QCOW_OFLAG_COPIED) != 0)) {
printf("ERROR OFLAG_COPIED: l2_offset=%llx refcount=%d\n",
l2_offset, refcount);
fprintf(stderr, "ERROR OFLAG_COPIED: l2_offset=%" PRIx64
" refcount=%d\n", l2_offset, refcount);
}
}
l2_offset &= ~QCOW_OFLAG_COPIED;
@ -2635,8 +2637,9 @@ static int check_refcounts_l1(BlockDriverState *bs,
if (offset != 0) {
if (offset & QCOW_OFLAG_COMPRESSED) {
if (offset & QCOW_OFLAG_COPIED) {
printf("ERROR: cluster %lld: copied flag must never be set for compressed clusters\n",
offset >> s->cluster_bits);
fprintf(stderr, "ERROR: cluster %" PRId64 ": "
"copied flag must never be set for compressed "
"clusters\n", offset >> s->cluster_bits);
offset &= ~QCOW_OFLAG_COPIED;
}
nb_csectors = ((offset >> s->csize_shift) &
@ -2649,8 +2652,8 @@ static int check_refcounts_l1(BlockDriverState *bs,
if (check_copied) {
refcount = get_refcount(bs, (offset & ~QCOW_OFLAG_COPIED) >> s->cluster_bits);
if ((refcount == 1) != ((offset & QCOW_OFLAG_COPIED) != 0)) {
printf("ERROR OFLAG_COPIED: offset=%llx refcount=%d\n",
offset, refcount);
fprintf(stderr, "ERROR OFLAG_COPIED: offset=%"
PRIx64 " refcount=%d\n", offset, refcount);
}
}
offset &= ~QCOW_OFLAG_COPIED;
@ -2670,7 +2673,7 @@ static int check_refcounts_l1(BlockDriverState *bs,
qemu_free(l2_table);
return 0;
fail:
printf("ERROR: I/O error in check_refcounts_l1\n");
fprintf(stderr, "ERROR: I/O error in check_refcounts_l1\n");
qemu_free(l1_table);
qemu_free(l2_table);
return -EIO;
@ -2722,7 +2725,7 @@ static void check_refcounts(BlockDriverState *bs)
refcount1 = get_refcount(bs, i);
refcount2 = refcount_table[i];
if (refcount1 != refcount2)
printf("ERROR cluster %d refcount=%d reference=%d\n",
fprintf(stderr, "ERROR cluster %d refcount=%d reference=%d\n",
i, refcount1, refcount2);
}