[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 18/20] vmdk: correctly propagate errors
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH v2 18/20] vmdk: correctly propagate errors |
Date: |
Tue, 11 Feb 2014 18:03:51 +0100 |
Now that we can return the "right" errors, use the Error** parameter
to pass them back instead of just printing them.
Signed-off-by: Paolo Bonzini <address@hidden>
---
block/vmdk.c | 11 ++++++-----
tests/qemu-iotests/059.out | 6 ++----
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index 750e632..f148164 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -571,6 +571,7 @@ static int vmdk_open_vmdk4(BlockDriverState *bs,
error_setg_errno(errp, -ret,
"Could not read header from file '%s'",
file->filename);
+ return -EINVAL;
}
if (header.capacity == 0) {
uint64_t desc_offset = le64_to_cpu(header.desc_offset);
@@ -640,8 +641,8 @@ static int vmdk_open_vmdk4(BlockDriverState *bs,
char buf[64];
snprintf(buf, sizeof(buf), "VMDK version %d",
le32_to_cpu(header.version));
- qerror_report(QERR_UNKNOWN_BLOCK_FORMAT_FEATURE,
- bs->device_name, "vmdk", buf);
+ error_set(errp, QERR_UNKNOWN_BLOCK_FORMAT_FEATURE,
+ bs->device_name, "vmdk", buf);
return -ENOTSUP;
} else if (le32_to_cpu(header.version) == 3 && (flags & BDRV_O_RDWR)) {
/* VMware KB 2064959 explains that version 3 added support for
@@ -653,7 +654,7 @@ static int vmdk_open_vmdk4(BlockDriverState *bs,
}
if (le32_to_cpu(header.num_gtes_per_gt) > 512) {
- error_report("L2 table size too big");
+ error_setg(errp, "L2 table size too big");
return -EINVAL;
}
@@ -669,8 +670,8 @@ static int vmdk_open_vmdk4(BlockDriverState *bs,
}
if (bdrv_getlength(file) <
le64_to_cpu(header.grain_offset) * BDRV_SECTOR_SIZE) {
- error_report("File truncated, expecting at least %lld bytes",
- le64_to_cpu(header.grain_offset) * BDRV_SECTOR_SIZE);
+ error_setg(errp, "File truncated, expecting at least %lld bytes",
+ le64_to_cpu(header.grain_offset) * BDRV_SECTOR_SIZE);
return -EINVAL;
}
diff --git a/tests/qemu-iotests/059.out b/tests/qemu-iotests/059.out
index 4600670..3371c86 100644
--- a/tests/qemu-iotests/059.out
+++ b/tests/qemu-iotests/059.out
@@ -7,8 +7,7 @@ no file open, try 'help open'
=== Testing too big L2 table size ===
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
-L2 table size too big
-qemu-io: can't open device TEST_DIR/t.vmdk: Could not open 'TEST_DIR/t.vmdk':
Invalid argument
+qemu-io: can't open device TEST_DIR/t.vmdk: L2 table size too big
no file open, try 'help open'
=== Testing too big L1 table size ===
@@ -2045,8 +2044,7 @@ RW 12582912 VMFS "dummy.IMGFMT" 1
=== Testing truncated sparse ===
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=107374182400
-qemu-img: File truncated, expecting at least 13172736 bytes
-qemu-img: Could not open 'TEST_DIR/t.IMGFMT': Could not open
'TEST_DIR/t.IMGFMT': Invalid argument
+qemu-img: Could not open 'TEST_DIR/t.IMGFMT': File truncated, expecting at
least 13172736 bytes
=== Testing version 3 ===
image: TEST_DIR/iotest-version3.IMGFMT
--
1.8.5.3
- Re: [Qemu-devel] [PATCH v2 09/20] cow: correctly propagate errors, (continued)
[Qemu-devel] [PATCH v2 11/20] qcow: correctly propagate errors, Paolo Bonzini, 2014/02/11
[Qemu-devel] [PATCH v2 12/20] qed: correctly propagate errors, Paolo Bonzini, 2014/02/11
[Qemu-devel] [PATCH v2 13/20] vhdx: correctly propagate errors, Paolo Bonzini, 2014/02/11
[Qemu-devel] [PATCH v2 14/20] vvfat: correctly propagate errors, Paolo Bonzini, 2014/02/11
[Qemu-devel] [PATCH v2 15/20] vmdk: extract vmdk_read_desc, Paolo Bonzini, 2014/02/11
[Qemu-devel] [PATCH v2 16/20] vmdk: push vmdk_read_desc up to caller, Paolo Bonzini, 2014/02/11
[Qemu-devel] [PATCH v2 17/20] vmdk: do not try opening a file as both image and descriptor, Paolo Bonzini, 2014/02/11
[Qemu-devel] [PATCH v2 18/20] vmdk: correctly propagate errors,
Paolo Bonzini <=
[Qemu-devel] [PATCH v2 19/20] block: do not abuse EMEDIUMTYPE, Paolo Bonzini, 2014/02/11
[Qemu-devel] [PATCH v2 20/20] vdi: say why an image is bad, Paolo Bonzini, 2014/02/11
[Qemu-devel] [PATCH v2 05/20] iscsi: fix indentation, Paolo Bonzini, 2014/02/11
Re: [Qemu-devel] [PATCH v2 00/20] Improve bdrv_open error messages, Stefan Hajnoczi, 2014/02/14