This series adds an Error ** parameter to bdrv_open, bdrv_file_open, bdrv_create and the respective functions provided by a block driver.
This results in more specific error information than just -errno provided to the user when opening or creating images (disregarding the fact that block drivers often already use error_report, which is generally changed to error_setg through this patch). The sixth patch in this series changes the qcow2 block driver to set an example of usage in a block driver. This series doesn't differ from the last RFC (v3) in functionality; the only differences are related to the rebase on Kevin's block branch: - patch 1: iscsi_open call changed ("bs" instead of "&bs") - patch 3: bdrv_unref instead of bdrv_delete - patch 4: bdrv_unref; also, introduction of skip_create flag in qemu-img convert (which just leads to different indentation) Furthermore, a new patch (7) has been added; this patch fixes the qemu-iotest outputs (and one test itself (060)) which broke due to this series. Max Reitz (7): bdrv: Use "Error" for opening images bdrv: Use "Error" for creating images block: Error parameter for open functions block: Error parameter for create functions qemu-img create: Emit filename on error qcow2: Use Error parameter qemu-iotests: Adjustments due to error propagation block.c | 176 +++++++++++++++++++++++++++++-------------- block/blkdebug.c | 7 +- block/blkverify.c | 11 ++- block/bochs.c | 3 +- block/cloop.c | 3 +- block/cow.c | 15 +++- block/curl.c | 3 +- block/dmg.c | 3 +- block/gluster.c | 4 +- block/iscsi.c | 8 +- block/mirror.c | 5 +- block/nbd.c | 3 +- block/parallels.c | 3 +- block/qcow.c | 15 +++- block/qcow2.c | 142 ++++++++++++++++++++++------------ block/qed.c | 18 +++-- block/raw-posix.c | 18 +++-- block/raw-win32.c | 9 ++- block/raw_bsd.c | 16 +++- block/rbd.c | 6 +- block/sheepdog.c | 16 +++- block/snapshot.c | 2 +- block/ssh.c | 6 +- block/vdi.c | 6 +- block/vhdx.c | 3 +- block/vmdk.c | 17 ++++- block/vpc.c | 6 +- block/vvfat.c | 13 +++- blockdev.c | 30 ++++---- hw/block/xen_disk.c | 7 +- include/block/block.h | 11 +-- include/block/block_int.h | 9 ++- qemu-img.c | 39 +++++----- qemu-io.c | 14 +++- qemu-nbd.c | 6 +- tests/qemu-iotests/049.out | 18 ++--- tests/qemu-iotests/051.out | 35 +++------ tests/qemu-iotests/054.out | 4 +- tests/qemu-iotests/060 | 2 +- tests/qemu-iotests/060.out | 3 +- tests/qemu-iotests/common.rc | 2 +- 41 files changed, 455 insertions(+), 262 deletions(-) -- 1.8.3.1