From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:53560) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SeigM-0006GX-KP for qemu-devel@nongnu.org; Wed, 13 Jun 2012 04:12:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SeigF-0000bp-M0 for qemu-devel@nongnu.org; Wed, 13 Jun 2012 04:12:02 -0400 Received: from oxygen.pond.sub.org ([78.46.104.156]:36386) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SeigF-0000bO-G9 for qemu-devel@nongnu.org; Wed, 13 Jun 2012 04:11:55 -0400 From: Markus Armbruster Date: Wed, 13 Jun 2012 10:11:49 +0200 Message-Id: <1339575110-18207-3-git-send-email-armbru@redhat.com> In-Reply-To: <1339575110-18207-1-git-send-email-armbru@redhat.com> References: <1339575110-18207-1-git-send-email-armbru@redhat.com> Subject: [Qemu-devel] [PATCH v3 2/3] xen: Don't change -drive if=xen device name during machine init List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, peter.maydell@linaro.org, stefano.stabellini@eu.citrix.com A "top" BlockDriverState has a non-empty device_name. If the user doesn't specify one with -drive parameter id, the system supplies a default name. xen_config_dev_blk() changes this name, during machine initialization. Naughty. Don't do that. Signed-off-by: Markus Armbruster --- hw/xen_devconfig.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) diff --git a/hw/xen_devconfig.c b/hw/xen_devconfig.c index 41accbb..7b7b0a2 100644 --- a/hw/xen_devconfig.c +++ b/hw/xen_devconfig.c @@ -94,16 +94,15 @@ static int xen_config_dev_all(char *fe, char *be) int xen_config_dev_blk(DriveInfo *disk) { - char fe[256], be[256]; + char fe[256], be[256], device_name[32]; int vdev = 202 * 256 + 16 * disk->unit; int cdrom = disk->media_cd; const char *devtype = cdrom ? "cdrom" : "disk"; const char *mode = cdrom ? "r" : "w"; - snprintf(disk->bdrv->device_name, sizeof(disk->bdrv->device_name), - "xvd%c", 'a' + disk->unit); + snprintf(device_name, sizeof(device_name), "xvd%c", 'a' + disk->unit); xen_be_printf(NULL, 1, "config disk %d [%s]: %s\n", - disk->unit, disk->bdrv->device_name, disk->bdrv->filename); + disk->unit, device_name, disk->bdrv->filename); xen_config_dev_dirs("vbd", "qdisk", vdev, fe, be, sizeof(fe)); /* frontend */ @@ -111,7 +110,7 @@ int xen_config_dev_blk(DriveInfo *disk) xenstore_write_str(fe, "device-type", devtype); /* backend */ - xenstore_write_str(be, "dev", disk->bdrv->device_name); + xenstore_write_str(be, "dev", device_name); xenstore_write_str(be, "type", "file"); xenstore_write_str(be, "params", disk->bdrv->filename); xenstore_write_str(be, "mode", mode); -- 1.7.6.5