aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-01-21 11:27:11 +0000
committerKeir Fraser <keir.fraser@citrix.com>2010-01-21 11:27:11 +0000
commitb304702a73017e34bf64c974dfff9b5cd9f258de (patch)
tree34db95324ff2a5bc42af15fc8545354c928cd6d6
parent92181f18298ff8c415354150414efb7195c1b620 (diff)
downloadxen-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.py2
-rw-r--r--tools/python/xen/util/utils.py4
-rw-r--r--tools/python/xen/util/vscsi_util.py3
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)