From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=38321 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OO6Kj-0008Rk-RM for qemu-devel@nongnu.org; Mon, 14 Jun 2010 05:51:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OO6DF-0007jC-34 for qemu-devel@nongnu.org; Mon, 14 Jun 2010 05:44:14 -0400 Received: from smtp102.sbc.mail.gq1.yahoo.com ([67.195.15.61]:40120) by eggs.gnu.org with smtp (Exim 4.69) (envelope-from ) id 1OO6DE-0007j0-SU for qemu-devel@nongnu.org; Mon, 14 Jun 2010 05:44:13 -0400 From: "Nicholas A. Bellinger" Date: Mon, 14 Jun 2010 02:44:38 -0700 Message-Id: <1276508678-3081-1-git-send-email-nab@linux-iscsi.org> Subject: [Qemu-devel] [PATCH 4/5] [scsi]: Add BSG support for scsi-bus and scsi-disk List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann , Kevin Wolf , FUJITA Tomonori Cc: kvm-devel , qemu-devel , Nicholas Bellinger , Hannes Reinecke , Christoph Hellwig , Paul Brook From: Nicholas Bellinger This patch updates hw/scsi-bus.c:scsi_bus_legacy_add_drive() to check for the scsi-bsg backstore. It also updates hw/scsi-disk.c:scsi_disk_initfn() to check for when bdrv_is_bsg() is present and we need to fail for the fileio backed scsi-disk code. Signed-off-by: Nicholas A. Bellinger --- hw/scsi-bus.c | 3 ++- hw/scsi-disk.c | 4 ++++ 2 files changed, 6 insertions(+), 1 deletions(-) diff --git a/hw/scsi-bus.c b/hw/scsi-bus.c index 7d80405..b5f5fbb 100644 --- a/hw/scsi-bus.c +++ b/hw/scsi-bus.c @@ -90,7 +90,8 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, DriveInfo *dinfo, int unit) const char *driver; DeviceState *dev; - driver = bdrv_is_sg(dinfo->bdrv) ? "scsi-generic" : "scsi-disk"; + driver = bdrv_is_bsg(dinfo->bdrv) ? "scsi-bsg" : + bdrv_is_sg(dinfo->bdrv) ? "scsi-generic" : "scsi-disk"; dev = qdev_create(&bus->qbus, driver); qdev_prop_set_uint32(dev, "scsi-id", unit); qdev_prop_set_drive(dev, "drive", dinfo); diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c index fb3c189..290a2e7 100644 --- a/hw/scsi-disk.c +++ b/hw/scsi-disk.c @@ -704,6 +704,10 @@ static int scsi_disk_initfn(SCSIDevice *dev) error_report("scsi-disk: unwanted /dev/sg*"); return -1; } + if (bdrv_is_bsg(s->bs)) { + error_report("scsi-disk: unwanted BSG"); + return -1; + } if (bdrv_get_type_hint(s->bs) == BDRV_TYPE_CDROM) { s->qdev.blocksize = 2048; -- 1.5.6.5