summaryrefslogtreecommitdiffstats
path: root/qemu-io.c
diff options
context:
space:
mode:
authorAnthony Liguori2013-09-17 16:51:40 +0200
committerAnthony Liguori2013-09-17 16:51:40 +0200
commit5dc11192b23fbb09fab277d58ac3c42b9699a8b0 (patch)
tree3b6d2c93fa9da23b4da6d289a47882819a45351a /qemu-io.c
parentMerge remote-tracking branch 'rth/tgt-i386' into staging (diff)
parentqemu-iotests: Fix test 038 (diff)
downloadqemu-5dc11192b23fbb09fab277d58ac3c42b9699a8b0.tar.gz
qemu-5dc11192b23fbb09fab277d58ac3c42b9699a8b0.tar.xz
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.c14
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;