On Tue, Feb 11, 2014 at 06:03:33PM +0100, Paolo Bonzini wrote: > Most of the block drivers are not using the Error** argument to > bdrv_open, and instead just printing errors to stderr. This series > improves that, using Error** instead of abusing errno numbers too. > > The only hurdle (caught by qemu-iotests, too) is VMDK, where we > currently parse a file first as image, and second as a descriptor. > This makes it hard to pick a good error message, because you do not > know which attempt gave the most reasonable error message. For > this reason patches 15-17 modify this approach and push up the > detection of vmdk image file magic numbers. > > Apart from this, and from a segfault fixed by patch 7, the series > consists of mostly trivial patches. > > Paolo > > Paolo Bonzini (20): > nbd: produce a better error if neither host nor port is passed > nbd: correctly propagate errors > nbd: inline tcp_socket_incoming_spec into sole caller > nbd: move socket wrappers to qemu-nbd > iscsi: fix indentation > iscsi: correctly propagate errors in iscsi_open > gluster: default scheme to gluster:// and host to localhost. > gluster: correctly propagate errors > cow: correctly propagate errors > curl: correctly propagate errors > qcow: correctly propagate errors > qed: correctly propagate errors > vhdx: correctly propagate errors > vvfat: correctly propagate errors > vmdk: extract vmdk_read_desc > vmdk: push vmdk_read_desc up to caller > vmdk: do not try opening a file as both image and descriptor > vmdk: correctly propagate errors > block: do not abuse EMEDIUMTYPE > vdi: say why an image is bad > > block/bochs.c | 3 +- > block/cow.c | 15 ++--- > block/curl.c | 13 ++--- > block/gluster.c | 28 ++++----- > block/iscsi.c | 141 > +++++++++++++++++++++++---------------------- > block/nbd.c | 43 +++++++------- > block/parallels.c | 3 +- > block/qcow.c | 19 +++--- > block/qcow2.c | 2 +- > block/qed.c | 19 +++--- > block/vdi.c | 29 ++++++---- > block/vhdx.c | 21 +++---- > block/vmdk.c | 121 ++++++++++++++++++++++++-------------- > block/vpc.c | 3 +- > block/vvfat.c | 9 +-- > include/block/nbd.h | 6 -- > nbd.c | 66 --------------------- > qemu-nbd.c | 52 +++++++++++++++++ > tests/qemu-iotests/059.out | 6 +- > 19 files changed, 302 insertions(+), 297 deletions(-)
Looks good except for the memory leak that I commented on.