Revision 34b5d2c6 qemu-io.c
b/qemu-io.c | ||
---|---|---|
46 | 46 |
|
47 | 47 |
static int openfile(char *name, int flags, int growable) |
48 | 48 |
{ |
49 |
Error *local_err = NULL; |
|
50 |
|
|
49 | 51 |
if (qemuio_bs) { |
50 | 52 |
fprintf(stderr, "file open already, try 'help close'\n"); |
51 | 53 |
return 1; |
52 | 54 |
} |
53 | 55 |
|
54 | 56 |
if (growable) { |
55 |
if (bdrv_file_open(&qemuio_bs, name, NULL, flags)) { |
|
56 |
fprintf(stderr, "%s: can't open device %s\n", progname, name); |
|
57 |
if (bdrv_file_open(&qemuio_bs, name, NULL, flags, &local_err)) { |
|
58 |
fprintf(stderr, "%s: can't open device %s: %s\n", progname, name, |
|
59 |
error_get_pretty(local_err)); |
|
60 |
error_free(local_err); |
|
57 | 61 |
return 1; |
58 | 62 |
} |
59 | 63 |
} else { |
60 | 64 |
qemuio_bs = bdrv_new("hda"); |
61 | 65 |
|
62 |
if (bdrv_open(qemuio_bs, name, NULL, flags, NULL) < 0) { |
|
63 |
fprintf(stderr, "%s: can't open device %s\n", progname, name); |
|
66 |
if (bdrv_open(qemuio_bs, name, NULL, flags, NULL, &local_err) < 0) { |
|
67 |
fprintf(stderr, "%s: can't open device %s: %s\n", progname, name, |
|
68 |
error_get_pretty(local_err)); |
|
69 |
error_free(local_err); |
|
64 | 70 |
bdrv_unref(qemuio_bs); |
65 | 71 |
qemuio_bs = NULL; |
66 | 72 |
return 1; |
Also available in: Unified diff