diff options
-rw-r--r-- | sos/plugins/filesys.py | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/sos/plugins/filesys.py b/sos/plugins/filesys.py index daba1afa..54585ba1 100644 --- a/sos/plugins/filesys.py +++ b/sos/plugins/filesys.py @@ -50,12 +50,21 @@ class filesys(sos.plugintools.PluginBase): partlist.append('/dev/' + line.split()[-1]) except IOError: exit(1) - for dev in partlist: - ret, hdparm, time = self.callExtProg('/sbin/hdparm -g %s' %(dev)) - if(ret == 0): - start_geo = hdparm.strip().split("\n")[-1].strip().split()[-1] - if(start_geo == "0"): + if os.path.exists("/sbin/hdparm"): + for dev in partlist: + ret, hdparm, time = self.callExtProg('/sbin/hdparm -g %s' %(dev)) + if(ret == 0): + start_geo = hdparm.strip().split("\n")[-1].strip().split()[-1] + if(start_geo == "0"): + devlist.append(dev) + # Cheaper heuristic as RHEL* does not ship hdparm for S390(x) + # Skips least dm-.* correctly + else: + part_in_disk = re.compile("^/dev/[a-z]+$") + for dev in partlist: + if bool(part_in_disk.match(dev)): devlist.append(dev) + for i in devlist: self.collectExtOutput("/sbin/parted -s %s print" % (i)) |