diff options
-rw-r--r-- | block.c | 24 | ||||
-rw-r--r-- | block.h | 5 | ||||
-rw-r--r-- | block/qcow2.c | 4 | ||||
-rw-r--r-- | block/vmdk.c | 2 | ||||
-rw-r--r-- | block/vvfat.c | 5 | ||||
-rw-r--r-- | hw/xen_disk.c | 2 | ||||
-rw-r--r-- | monitor.c | 2 | ||||
-rw-r--r-- | qemu-img.c | 16 | ||||
-rw-r--r-- | qemu-io.c | 2 | ||||
-rw-r--r-- | qemu-nbd.c | 2 | ||||
-rw-r--r-- | vl.c | 2 |
11 files changed, 31 insertions, 35 deletions
@@ -338,7 +338,7 @@ int bdrv_file_open(BlockDriverState **pbs, const char *filename, int flags) int ret; bs = bdrv_new(""); - ret = bdrv_open2(bs, filename, flags | BDRV_O_FILE, NULL); + ret = bdrv_open(bs, filename, flags | BDRV_O_FILE, NULL); if (ret < 0) { bdrv_delete(bs); return ret; @@ -348,13 +348,8 @@ int bdrv_file_open(BlockDriverState **pbs, const char *filename, int flags) return 0; } -int bdrv_open(BlockDriverState *bs, const char *filename, int flags) -{ - return bdrv_open2(bs, filename, flags, NULL); -} - -int bdrv_open2(BlockDriverState *bs, const char *filename, int flags, - BlockDriver *drv) +int bdrv_open(BlockDriverState *bs, const char *filename, int flags, + BlockDriver *drv) { int ret, open_flags; char tmp_filename[PATH_MAX]; @@ -379,7 +374,7 @@ int bdrv_open2(BlockDriverState *bs, const char *filename, int flags, /* if there is a backing file, use it */ bs1 = bdrv_new(""); - ret = bdrv_open2(bs1, filename, 0, drv); + ret = bdrv_open(bs1, filename, 0, drv); if (ret < 0) { bdrv_delete(bs1); return ret; @@ -491,9 +486,8 @@ int bdrv_open2(BlockDriverState *bs, const char *filename, int flags, /* backing files always opened read-only */ open_flags &= ~BDRV_O_RDWR; - - ret = bdrv_open2(bs->backing_hd, backing_filename, open_flags, - back_drv); + + ret = bdrv_open(bs->backing_hd, backing_filename, open_flags, back_drv); if (ret < 0) { bdrv_close(bs); return ret; @@ -605,12 +599,12 @@ int bdrv_commit(BlockDriverState *bs) bdrv_delete(bs->backing_hd); bs->backing_hd = NULL; bs_rw = bdrv_new(""); - rw_ret = bdrv_open2(bs_rw, filename, open_flags | BDRV_O_RDWR, NULL); + rw_ret = bdrv_open(bs_rw, filename, open_flags | BDRV_O_RDWR, NULL); if (rw_ret < 0) { bdrv_delete(bs_rw); /* try to re-open read-only */ bs_ro = bdrv_new(""); - ret = bdrv_open2(bs_ro, filename, open_flags & ~BDRV_O_RDWR, NULL); + ret = bdrv_open(bs_ro, filename, open_flags & ~BDRV_O_RDWR, NULL); if (ret < 0) { bdrv_delete(bs_ro); /* drive not functional anymore */ @@ -662,7 +656,7 @@ ro_cleanup: bdrv_delete(bs->backing_hd); bs->backing_hd = NULL; bs_ro = bdrv_new(""); - ret = bdrv_open2(bs_ro, filename, open_flags & ~BDRV_O_RDWR, NULL); + ret = bdrv_open(bs_ro, filename, open_flags & ~BDRV_O_RDWR, NULL); if (ret < 0) { bdrv_delete(bs_ro); /* drive not functional anymore */ @@ -68,9 +68,8 @@ int bdrv_create2(BlockDriver *drv, BlockDriverState *bdrv_new(const char *device_name); void bdrv_delete(BlockDriverState *bs); int bdrv_file_open(BlockDriverState **pbs, const char *filename, int flags); -int bdrv_open(BlockDriverState *bs, const char *filename, int flags); -int bdrv_open2(BlockDriverState *bs, const char *filename, int flags, - BlockDriver *drv); +int bdrv_open(BlockDriverState *bs, const char *filename, int flags, + BlockDriver *drv); void bdrv_close(BlockDriverState *bs); int bdrv_check(BlockDriverState *bs); int bdrv_read(BlockDriverState *bs, int64_t sector_num, diff --git a/block/qcow2.c b/block/qcow2.c index 67affa6..30ded6a 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -52,7 +52,7 @@ typedef struct { #define QCOW_EXT_MAGIC_END 0 #define QCOW_EXT_MAGIC_BACKING_FORMAT 0xE2792ACA - +static BlockDriver bdrv_qcow2; static int qcow_probe(const uint8_t *buf, int buf_size, const char *filename) { @@ -1033,7 +1033,7 @@ exit: if (ret == 0 && prealloc) { BlockDriverState *bs; bs = bdrv_new(""); - bdrv_open(bs, filename, BDRV_O_CACHE_WB | BDRV_O_RDWR); + bdrv_open(bs, filename, BDRV_O_CACHE_WB | BDRV_O_RDWR, &bdrv_qcow2); preallocate(bs); bdrv_close(bs); } diff --git a/block/vmdk.c b/block/vmdk.c index 007fca4..6fdea1d 100644 --- a/block/vmdk.c +++ b/block/vmdk.c @@ -390,7 +390,7 @@ static int vmdk_parent_open(BlockDriverState *bs, const char * filename) return -1; } parent_open = 1; - if (bdrv_open(bs->backing_hd, parent_img_name, 0) < 0) + if (bdrv_open(bs->backing_hd, parent_img_name, 0, NULL) < 0) goto failure; parent_open = 0; } diff --git a/block/vvfat.c b/block/vvfat.c index 36f6ab4..0701df4 100644 --- a/block/vvfat.c +++ b/block/vvfat.c @@ -2795,8 +2795,11 @@ static int enable_write_target(BDRVVVFATState *s) if (bdrv_create(bdrv_qcow, s->qcow_filename, options) < 0) return -1; s->qcow = bdrv_new(""); - if (s->qcow == NULL || bdrv_open(s->qcow, s->qcow_filename, BDRV_O_RDWR) < 0) + if (s->qcow == NULL || + bdrv_open(s->qcow, s->qcow_filename, BDRV_O_RDWR, bdrv_qcow) < 0) + { return -1; + } #ifndef _WIN32 unlink(s->qcow_filename); diff --git a/hw/xen_disk.c b/hw/xen_disk.c index beadf90..95017a1 100644 --- a/hw/xen_disk.c +++ b/hw/xen_disk.c @@ -629,7 +629,7 @@ static int blk_init(struct XenDevice *xendev) xen_be_printf(&blkdev->xendev, 2, "create new bdrv (xenbus setup)\n"); blkdev->bs = bdrv_new(blkdev->dev); if (blkdev->bs) { - if (bdrv_open2(blkdev->bs, blkdev->filename, qflags, + if (bdrv_open(blkdev->bs, blkdev->filename, qflags, bdrv_find_whitelisted_format(blkdev->fileproto)) != 0) { bdrv_delete(blkdev->bs); @@ -1099,7 +1099,7 @@ static int do_change_block(Monitor *mon, const char *device, if (eject_device(mon, bs, 0) < 0) { return -1; } - if (bdrv_open2(bs, filename, BDRV_O_RDWR, drv) < 0) { + if (bdrv_open(bs, filename, BDRV_O_RDWR, drv) < 0) { qerror_report(QERR_OPEN_FILE_FAILED, filename); return -1; } @@ -210,7 +210,7 @@ static BlockDriverState *bdrv_new_open(const char *filename, if (!readonly) { flags |= BDRV_O_RDWR; } - if (bdrv_open2(bs, filename, flags, drv) < 0) { + if (bdrv_open(bs, filename, flags, drv) < 0) { error("Could not open '%s'", filename); } if (bdrv_is_encrypted(bs)) { @@ -415,7 +415,7 @@ static int img_check(int argc, char **argv) } else { drv = NULL; } - if (bdrv_open2(bs, filename, BRDV_O_FLAGS, drv) < 0) { + if (bdrv_open(bs, filename, BRDV_O_FLAGS, drv) < 0) { error("Could not open '%s'", filename); } ret = bdrv_check(bs); @@ -474,7 +474,7 @@ static int img_commit(int argc, char **argv) } else { drv = NULL; } - if (bdrv_open2(bs, filename, BRDV_O_FLAGS | BDRV_O_RDWR, drv) < 0) { + if (bdrv_open(bs, filename, BRDV_O_FLAGS | BDRV_O_RDWR, drv) < 0) { error("Could not open '%s'", filename); } ret = bdrv_commit(bs); @@ -926,7 +926,7 @@ static int img_info(int argc, char **argv) } else { drv = NULL; } - if (bdrv_open2(bs, filename, BRDV_O_FLAGS | BDRV_O_NO_BACKING, drv) < 0) { + if (bdrv_open(bs, filename, BRDV_O_FLAGS | BDRV_O_NO_BACKING, drv) < 0) { error("Could not open '%s'", filename); } bdrv_get_format(bs, fmt_name, sizeof(fmt_name)); @@ -1032,7 +1032,7 @@ static int img_snapshot(int argc, char **argv) if (!bs) error("Not enough memory"); - if (bdrv_open2(bs, filename, bdrv_oflags, NULL) < 0) { + if (bdrv_open(bs, filename, bdrv_oflags, NULL) < 0) { error("Could not open '%s'", filename); } @@ -1137,7 +1137,7 @@ static int img_rebase(int argc, char **argv) } flags = BRDV_O_FLAGS | BDRV_O_RDWR | (unsafe ? BDRV_O_NO_BACKING : 0); - if (bdrv_open2(bs, filename, flags, drv) < 0) { + if (bdrv_open(bs, filename, flags, drv) < 0) { error("Could not open '%s'", filename); } @@ -1169,7 +1169,7 @@ static int img_rebase(int argc, char **argv) bs_old_backing = bdrv_new("old_backing"); bdrv_get_backing_filename(bs, backing_name, sizeof(backing_name)); - if (bdrv_open2(bs_old_backing, backing_name, BRDV_O_FLAGS, + if (bdrv_open(bs_old_backing, backing_name, BRDV_O_FLAGS, old_backing_drv)) { error("Could not open old backing file '%s'", backing_name); @@ -1177,7 +1177,7 @@ static int img_rebase(int argc, char **argv) } bs_new_backing = bdrv_new("new_backing"); - if (bdrv_open2(bs_new_backing, out_baseimg, BRDV_O_FLAGS | BDRV_O_RDWR, + if (bdrv_open(bs_new_backing, out_baseimg, BRDV_O_FLAGS | BDRV_O_RDWR, new_backing_drv)) { error("Could not open new backing file '%s'", out_baseimg); @@ -1284,7 +1284,7 @@ static int openfile(char *name, int flags, int growable) flags |= BDRV_O_FILE; } - if (bdrv_open(bs, name, flags) < 0) { + if (bdrv_open(bs, name, flags, NULL) < 0) { fprintf(stderr, "%s: can't open device %s\n", progname, name); bs = NULL; return 1; @@ -333,7 +333,7 @@ int main(int argc, char **argv) if (bs == NULL) return 1; - if (bdrv_open(bs, argv[optind], flags) < 0) + if (bdrv_open(bs, argv[optind], flags, NULL) < 0) return 1; fd_size = bs->total_sectors * 512; @@ -1129,7 +1129,7 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque, bdrv_flags |= ro ? 0 : BDRV_O_RDWR; - if (bdrv_open2(dinfo->bdrv, file, bdrv_flags, drv) < 0) { + if (bdrv_open(dinfo->bdrv, file, bdrv_flags, drv) < 0) { fprintf(stderr, "qemu: could not open disk image %s: %s\n", file, strerror(errno)); return NULL; |