NFS: Add a tracepoint to show the results of nfs_set_cache_invalid()
authorBenjamin Coddington <bcodding@redhat.com>
Tue, 16 Nov 2021 13:49:24 +0000 (08:49 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Wed, 17 Nov 2021 19:08:23 +0000 (14:08 -0500)
This provides some insight into the client's invalidation behavior to show
both when the client uses the helper, and the results of calling the
helper which can vary depending on how the helper is called.

Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/inode.c
fs/nfs/nfstrace.h

index dd53704c3f40400284e3c81421e7e4fbbcfc8f67..fda530d5e76405902d0f723f36c3d599fa48178d 100644 (file)
@@ -219,6 +219,7 @@ void nfs_set_cache_invalid(struct inode *inode, unsigned long flags)
                                          NFS_INO_DATA_INVAL_DEFER);
        else if (nfsi->cache_validity & NFS_INO_INVALID_DATA)
                nfsi->cache_validity &= ~NFS_INO_DATA_INVAL_DEFER;
+       trace_nfs_set_cache_invalid(inode, 0);
 }
 EXPORT_SYMBOL_GPL(nfs_set_cache_invalid);
 
index 21dac847f1e404d3285d09e546e7cff6b03763aa..b3aee261801e5d352e080904dfa636850d6122d6 100644 (file)
@@ -162,6 +162,7 @@ DEFINE_NFS_INODE_EVENT_DONE(nfs_writeback_inode_exit);
 DEFINE_NFS_INODE_EVENT(nfs_fsync_enter);
 DEFINE_NFS_INODE_EVENT_DONE(nfs_fsync_exit);
 DEFINE_NFS_INODE_EVENT(nfs_access_enter);
+DEFINE_NFS_INODE_EVENT_DONE(nfs_set_cache_invalid);
 
 TRACE_EVENT(nfs_access_exit,
                TP_PROTO(