diff options
| author | Anthony Liguori <anthony@codemonkey.ws> | 2013-09-17 09:51:40 -0500 |
|---|---|---|
| committer | Anthony Liguori <anthony@codemonkey.ws> | 2013-09-17 09:51:40 -0500 |
| commit | 5dc11192b23fbb09fab277d58ac3c42b9699a8b0 (patch) | |
| tree | 3b6d2c93fa9da23b4da6d289a47882819a45351a /qemu-io.c | |
| parent | ab9cec42bf3ed1d9bb574b7de5f3c61da47b3a81 (diff) | |
| parent | c21bddf27fd8029890e9fc2ee314788919eababf (diff) | |
| download | focaccia-qemu-5dc11192b23fbb09fab277d58ac3c42b9699a8b0.tar.gz focaccia-qemu-5dc11192b23fbb09fab277d58ac3c42b9699a8b0.zip | |
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Max Reitz (16) and others # Via Kevin Wolf * kwolf/for-anthony: (33 commits) qemu-iotests: Fix test 038 block: Assert validity of BdrvActionOps qemu-iotests: Cleanup test image in test number 007 qemu-img: fix invalid JSON coroutine: add ./configure --disable-coroutine-pool qemu-iotests: Adjustments due to error propagation qcow2: Use Error parameter qemu-img create: Emit filename on error block: Error parameter for create functions block: Error parameter for open functions bdrv: Use "Error" for creating images bdrv: Use "Error" for opening images qemu-iotests: add 057 internal snapshot for block device test case hmp: add interface hmp_snapshot_delete_blkdev_internal hmp: add interface hmp_snapshot_blkdev_internal qmp: add interface blockdev-snapshot-delete-internal-sync qmp: add interface blockdev-snapshot-internal-sync qmp: add internal snapshot support in qmp_transaction snapshot: distinguish id and name in snapshot delete snapshot: new function bdrv_snapshot_find_by_id_and_name() ... Message-id: 1379073063-14963-1-git-send-email-kwolf@redhat.com
Diffstat (limited to 'qemu-io.c')
| -rw-r--r-- | qemu-io.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/qemu-io.c b/qemu-io.c index 71f4ff1302..f4b8efcceb 100644 --- a/qemu-io.c +++ b/qemu-io.c @@ -46,21 +46,27 @@ static const cmdinfo_t close_cmd = { static int openfile(char *name, int flags, int growable) { + Error *local_err = NULL; + if (qemuio_bs) { fprintf(stderr, "file open already, try 'help close'\n"); return 1; } if (growable) { - if (bdrv_file_open(&qemuio_bs, name, NULL, flags)) { - fprintf(stderr, "%s: can't open device %s\n", progname, name); + if (bdrv_file_open(&qemuio_bs, name, NULL, flags, &local_err)) { + fprintf(stderr, "%s: can't open device %s: %s\n", progname, name, + error_get_pretty(local_err)); + error_free(local_err); return 1; } } else { qemuio_bs = bdrv_new("hda"); - if (bdrv_open(qemuio_bs, name, NULL, flags, NULL) < 0) { - fprintf(stderr, "%s: can't open device %s\n", progname, name); + if (bdrv_open(qemuio_bs, name, NULL, flags, NULL, &local_err) < 0) { + fprintf(stderr, "%s: can't open device %s: %s\n", progname, name, + error_get_pretty(local_err)); + error_free(local_err); bdrv_unref(qemuio_bs); qemuio_bs = NULL; return 1; |