diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-01-21 11:27:11 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-01-21 11:27:11 +0000 |
commit | b304702a73017e34bf64c974dfff9b5cd9f258de (patch) | |
tree | 34db95324ff2a5bc42af15fc8545354c928cd6d6 | |
parent | 92181f18298ff8c415354150414efb7195c1b620 (diff) | |
download | xen-b304702a73017e34bf64c974dfff9b5cd9f258de.tar.gz xen-b304702a73017e34bf64c974dfff9b5cd9f258de.tar.bz2 xen-b304702a73017e34bf64c974dfff9b5cd9f258de.zip |
tools: fix sysfs error path
Attached patch fixes sysfs error path.
NetBSD also has a /proc/mounts file but no sysfs.
On Linux you can test this with sysfs not mounted.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
-rw-r--r-- | tools/python/xen/util/pci.py | 2 | ||||
-rw-r--r-- | tools/python/xen/util/utils.py | 4 | ||||
-rw-r--r-- | tools/python/xen/util/vscsi_util.py | 3 |
3 files changed, 8 insertions, 1 deletions
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) |