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.2.0-testing/tools/python/xen/util/vscsi_util.py =================================================================== --- xen-4.2.0-testing.orig/tools/python/xen/util/vscsi_util.py +++ xen-4.2.0-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)