From: Dave Chinner Date: Wed, 3 Dec 2014 22:42:40 +0000 (+1100) Subject: xfs: active inodes stat is broken X-Git-Tag: v4.14-rc1~6325^2^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cdc9cec7c0ff521edf8c0e9c9432bf8fdccfc702;p=platform%2Fkernel%2Flinux-rpi.git xfs: active inodes stat is broken vn_active only ever gets decremented, so it has a very large negative number. Make it track the inode count we currently have allocated properly so we can easily track the size of the inode cache via tools like PCP. Signed-off-by: Dave Chinner Reviewed-by: Mark Tinguely Signed-off-by: Dave Chinner --- diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c index b45f7b2..f7a742e 100644 --- a/fs/xfs/xfs_icache.c +++ b/fs/xfs/xfs_icache.c @@ -65,6 +65,7 @@ xfs_inode_alloc( return NULL; } + XFS_STATS_INC(vn_active); ASSERT(atomic_read(&ip->i_pincount) == 0); ASSERT(!spin_is_locked(&ip->i_flags_lock)); ASSERT(!xfs_isiflocked(ip)); @@ -130,6 +131,7 @@ xfs_inode_free( /* asserts to verify all state is correct here */ ASSERT(atomic_read(&ip->i_pincount) == 0); ASSERT(!xfs_isiflocked(ip)); + XFS_STATS_DEC(vn_active); call_rcu(&VFS_I(ip)->i_rcu, xfs_inode_free_callback); } diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index a0f58d9..45fa5b5 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -1008,7 +1008,6 @@ xfs_fs_evict_inode( clear_inode(inode); XFS_STATS_INC(vn_rele); XFS_STATS_INC(vn_remove); - XFS_STATS_DEC(vn_active); xfs_inactive(ip); }