On 04/25/2014 12:52 PM, Chuck Lever wrote: > "nfs-iostat.py --attr" was displaying nonsense (like negative > counts and percentages). > > Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Committed... steved. > --- > > tools/nfs-iostat/nfs-iostat.py | 28 ++++++++-------------------- > 1 files changed, 8 insertions(+), 20 deletions(-) > > diff --git a/tools/nfs-iostat/nfs-iostat.py b/tools/nfs-iostat/nfs-iostat.py > index 6831c12..b324cd8 100644 > --- a/tools/nfs-iostat/nfs-iostat.py > +++ b/tools/nfs-iostat/nfs-iostat.py > @@ -243,27 +243,15 @@ class DeviceData: > """Print attribute cache efficiency stats > """ > nfs_stats = self.__nfs_data > - getattr_stats = self.__rpc_data['GETATTR'] > - > - if nfs_stats['inoderevalidates'] != 0: > - getattr_ops = float(getattr_stats[1]) > - opens = float(nfs_stats['vfsopen']) > - revalidates = float(nfs_stats['inoderevalidates']) - opens > - if revalidates != 0: > - ratio = ((revalidates - getattr_ops) * 100) / revalidates > - else: > - ratio = 0.0 > - > - data_invalidates = float(nfs_stats['datainvalidates']) > - attr_invalidates = float(nfs_stats['attrinvalidates']) > > - print() > - print('%d inode revalidations, hitting in cache %4.2f%% of the time' % \ > - (revalidates, ratio)) > - print('%d open operations (mandatory GETATTR requests)' % opens) > - if getattr_ops != 0: > - print('%4.2f%% of GETATTRs resulted in data cache invalidations' % \ > - ((data_invalidates * 100) / getattr_ops)) > + print() > + print('%d VFS opens' % (nfs_stats['vfsopen'])) > + print('%d inoderevalidates (forced GETATTRs)' % \ > + (nfs_stats['inoderevalidates'])) > + print('%d page cache invalidations' % \ > + (nfs_stats['datainvalidates'])) > + print('%d attribute cache invalidations' % \ > + (nfs_stats['attrinvalidates'])) > > def __print_dir_cache_stats(self, sample_time): > """Print directory stats > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html