From a6046ec01a4194802a9b4881dabf22accec18216 Mon Sep 17 00:00:00 2001 From: Olaf Hering Date: Mon, 8 Oct 2012 12:18:31 +0100 Subject: xend/pvscsi: fix passing of SCSI control LUNs Currently pvscsi can not pass SCSI devices that have just a scsi_generic node. In the following example sg3 is a control LUN for the disk sdd. But vscsi=['4:0:2:0,0:0:0:0'] does not work because the internal 'devname' variable remains None. Later writing p-devname to xenstore fails because None is not a valid string variable. Since devname is used for just informational purpose use sg also as devname. carron:~ $ lsscsi -g [0:0:0:0] disk ATA FK0032CAAZP HPF2 /dev/sda /dev/sg0 [4:0:0:0] disk HP P2000G3 FC/iSCSI T100 /dev/sdb /dev/sg1 [4:0:1:0] disk HP P2000G3 FC/iSCSI T100 /dev/sdc /dev/sg2 [4:0:2:0] storage HP HSV400 0950 - /dev/sg3 [4:0:2:1] disk HP HSV400 0950 /dev/sdd /dev/sg4 [4:0:3:0] storage HP HSV400 0950 - /dev/sg5 [4:0:3:1] disk HP HSV400 0950 /dev/sde /dev/sg6 Signed-off-by: Olaf Hering Acked-by: Ian Campbell Committed-by: Ian Campbell --- tools/python/xen/util/vscsi_util.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tools/python') diff --git a/tools/python/xen/util/vscsi_util.py b/tools/python/xen/util/vscsi_util.py index b73fc5834b..da09d46727 100644 --- a/tools/python/xen/util/vscsi_util.py +++ b/tools/python/xen/util/vscsi_util.py @@ -105,6 +105,8 @@ def _vscsi_get_scsidevices_by_lsscsi(option = ""): devname = None try: sg = s[-1].split('/dev/')[1] + if devname is None: + devname = sg scsi_id = _vscsi_get_scsiid(sg) except IndexError: sg = None -- cgit v1.2.3