diff --git a/tools/python/xen/util/pci.py b/tools/python/xen/util/pci.py index 35c804495c..6aac0b5ba7 100644 --- a/tools/python/xen/util/pci.py +++ b/tools/python/xen/util/pci.py @@ -441,6 +441,8 @@ def find_sysfs_mnt(): def get_all_pci_names(): sysfs_mnt = find_sysfs_mnt() + if sysfs_mnt is None: + return None pci_names = os.popen('ls ' + sysfs_mnt + SYSFS_PCI_DEVS_PATH).read().split() return pci_names diff --git a/tools/python/xen/util/utils.py b/tools/python/xen/util/utils.py index 6d0c5ab8cb..6be3e8e202 100644 --- a/tools/python/xen/util/utils.py +++ b/tools/python/xen/util/utils.py @@ -68,7 +68,9 @@ def find_sysfs_mount(): continue if sline[2] == 'sysfs': sysfs_mount_point= sline[1] - return sysfs_mount_point + break + mounts_file.close() + return sysfs_mount_point except IOError, (errno, strerr): raise diff --git a/tools/python/xen/util/vscsi_util.py b/tools/python/xen/util/vscsi_util.py index 8b26117fca..15719782fa 100644 --- a/tools/python/xen/util/vscsi_util.py +++ b/tools/python/xen/util/vscsi_util.py @@ -123,6 +123,9 @@ def _vscsi_get_scsidevices_by_sysfs(): except: return devices + if sysfs_mnt is None: + return devices + for dirpath, dirnames, files in os.walk(sysfs_mnt + SYSFS_SCSI_PATH): for hctl in dirnames: paths = os.path.join(dirpath, hctl)