[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] ioemu: cache the BlockDriverState pointer
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1201111368 0 # Node ID 6496ad18c3e286d03dc5f3b80588d06deec7c39f # Parent 1c826ea72a8018bb29c50958a541764c356a3f51 ioemu: cache the BlockDriverState pointer This actually fixes a bug in the scsi case. Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx> --- tools/ioemu/xenstore.c | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff -r 1c826ea72a80 -r 6496ad18c3e2 tools/ioemu/xenstore.c --- a/tools/ioemu/xenstore.c Wed Jan 23 15:42:52 2008 +0000 +++ b/tools/ioemu/xenstore.c Wed Jan 23 18:02:48 2008 +0000 @@ -85,6 +85,7 @@ void xenstore_parse_domain_config(int do *dev = NULL, *params = NULL, *type = NULL, *drv = NULL; int i, is_scsi, is_hdN = 0; unsigned int len, num, hd_index; + BlockDriverState *bs; for(i = 0; i < MAX_DISKS + MAX_SCSI_DISKS; i++) media_filename[i] = NULL; @@ -209,17 +210,17 @@ void xenstore_parse_domain_config(int do } } - bs_table[hd_index + (is_scsi ? MAX_DISKS : 0)] = bdrv_new(dev); + bs = bs_table[hd_index + (is_scsi ? MAX_DISKS : 0)] = bdrv_new(dev); /* check if it is a cdrom */ if (type && !strcmp(type, "cdrom")) { - bdrv_set_type_hint(bs_table[hd_index], BDRV_TYPE_CDROM); + bdrv_set_type_hint(bs, BDRV_TYPE_CDROM); if (pasprintf(&buf, "%s/params", bpath) != -1) xs_watch(xsh, buf, dev); } + /* open device now if media present */ if (params[0]) { - if (bdrv_open(bs_table[hd_index + (is_scsi ? MAX_DISKS : 0)], - params, 0 /* snapshot */) < 0) + if (bdrv_open(bs, params, 0 /* snapshot */) < 0) fprintf(stderr, "qemu: could not open hard disk image '%s'\n", params); } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |