File xen-bug776995-pvscsi-persistent-names.patch of Package xen.openSUSE_12.1_Update

xend/pvscsi: fix usage of persistant device names for SCSI devices

Currently the callers of vscsi_get_scsidevices() do not pass a mask
string.  This will call "lsscsi -g '[]'", which causes a lsscsi syntax
error. As a result the sysfs parser _vscsi_get_scsidevices() is used.
But this parser is broken and the specified names in the config file are
not found.

Using a mask '*' if no mask was given will call lsscsi correctly and the
following config is parsed correctly:

vscsi=['/dev/sg3,0:0:0:0','/dev/disk/by-id/wwn-0x600508b4000cf1c30000800000410000,0:0:0:1']

---
 tools/python/xen/util/vscsi_util.py |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: xen-4.1.3-testing/tools/python/xen/util/vscsi_util.py
===================================================================
--- xen-4.1.3-testing.orig/tools/python/xen/util/vscsi_util.py
+++ xen-4.1.3-testing/tools/python/xen/util/vscsi_util.py
@@ -148,7 +148,7 @@ def _vscsi_get_scsidevices_by_sysfs():
     return devices
 
 
-def vscsi_get_scsidevices(mask=""):
+def vscsi_get_scsidevices(mask="*"):
     """ get all scsi devices information """
 
     devices = _vscsi_get_scsidevices_by_lsscsi("[%s]" % mask)
@@ -277,7 +277,7 @@ def get_scsi_device(pHCTL):
             return _make_scsi_record(scsi_info)
     return None
 
-def get_all_scsi_devices(mask=""):
+def get_all_scsi_devices(mask="*"):
     scsi_records = []
     for scsi_info in vscsi_get_scsidevices(mask):
         scsi_record = _make_scsi_record(scsi_info)
openSUSE Build Service is sponsored by