From: Steve Dickson Date: Wed, 21 Sep 2011 18:05:07 +0000 (-0400) Subject: mountstats: Breaks on 3.1 kernels X-Git-Tag: nfs-utils-1-2-5-rc3 X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=commitdiff_plain;h=4ee1190080fbb8cdd5ed2bef7c00a04799650b1b;ds=sidebyside mountstats: Breaks on 3.1 kernels mountstats depend on all devices entries in /proc/self/mountstats to start with the word 'device'. With 3.1 kernels, NFS entries start with the actual device (i.e. server:/export) not the word 'device'. This change confused mountstats parsing. Signed-off-by: Steve Dickson --- diff --git a/tools/mountstats/mountstats.py b/tools/mountstats/mountstats.py index 280e15c..b95b71d 100644 --- a/tools/mountstats/mountstats.py +++ b/tools/mountstats/mountstats.py @@ -46,6 +46,12 @@ class DeviceData: self.__nfs_data['fstype'] = words[7] if words[7].find('nfs') != -1: self.__nfs_data['statvers'] = words[8] + elif 'nfs' in words or 'nfs4' in words: + self.__nfs_data['export'] = words[0] + self.__nfs_data['mountpoint'] = words[3] + self.__nfs_data['fstype'] = words[6] + if words[6].find('nfs') != -1: + self.__nfs_data['statvers'] = words[7] elif words[0] == 'age:': self.__nfs_data['age'] = long(words[1]) elif words[0] == 'opts:': @@ -371,6 +377,9 @@ def parse_stats_file(filename): if words[0] == 'device': key = words[4] new = [ line.strip() ] + elif 'nfs' in words or 'nfs4' in words: + key = words[3] + new = [ line.strip() ] else: new += [ line.strip() ] ms_dict[key] = new