Skip to content

Commit 54f7df7

Browse files
committed
NFSD: No longer record nf_hashval in the trace log
I'm about to replace nfsd_file_hashtbl with an rhashtable. The individual hash values will no longer be visible or relevant, so remove them from the tracepoints. Reviewed-by: Jeff Layton <[email protected]> Signed-off-by: Chuck Lever <[email protected]>
1 parent 6df1941 commit 54f7df7

File tree

2 files changed

+29
-31
lines changed

2 files changed

+29
-31
lines changed

fs/nfsd/filecache.c

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -589,7 +589,7 @@ nfsd_file_close_inode_sync(struct inode *inode)
589589
LIST_HEAD(dispose);
590590

591591
__nfsd_file_close_inode(inode, hashval, &dispose);
592-
trace_nfsd_file_close_inode_sync(inode, hashval, !list_empty(&dispose));
592+
trace_nfsd_file_close_inode_sync(inode, !list_empty(&dispose));
593593
nfsd_file_dispose_list_sync(&dispose);
594594
}
595595

@@ -609,7 +609,7 @@ nfsd_file_close_inode(struct inode *inode)
609609
LIST_HEAD(dispose);
610610

611611
__nfsd_file_close_inode(inode, hashval, &dispose);
612-
trace_nfsd_file_close_inode(inode, hashval, !list_empty(&dispose));
612+
trace_nfsd_file_close_inode(inode, !list_empty(&dispose));
613613
nfsd_file_dispose_list_delayed(&dispose);
614614
}
615615

@@ -963,7 +963,7 @@ nfsd_file_is_cached(struct inode *inode)
963963
}
964964
}
965965
rcu_read_unlock();
966-
trace_nfsd_file_is_cached(inode, hashval, (int)ret);
966+
trace_nfsd_file_is_cached(inode, (int)ret);
967967
return ret;
968968
}
969969

@@ -995,9 +995,8 @@ nfsd_do_file_acquire(struct svc_rqst *rqstp, struct svc_fh *fhp,
995995

996996
new = nfsd_file_alloc(inode, may_flags, hashval, net);
997997
if (!new) {
998-
trace_nfsd_file_acquire(rqstp, hashval, inode, may_flags,
999-
NULL, nfserr_jukebox);
1000-
return nfserr_jukebox;
998+
status = nfserr_jukebox;
999+
goto out_status;
10011000
}
10021001

10031002
spin_lock(&nfsd_file_hashtbl[hashval].nfb_lock);
@@ -1035,8 +1034,10 @@ nfsd_do_file_acquire(struct svc_rqst *rqstp, struct svc_fh *fhp,
10351034
nf = NULL;
10361035
}
10371036

1038-
trace_nfsd_file_acquire(rqstp, hashval, inode, may_flags, nf, status);
1037+
out_status:
1038+
trace_nfsd_file_acquire(rqstp, inode, may_flags, nf, status);
10391039
return status;
1040+
10401041
open_file:
10411042
nf = new;
10421043
/* Take reference for the hashtable */

fs/nfsd/trace.h

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -748,23 +748,20 @@ DECLARE_EVENT_CLASS(nfsd_file_class,
748748
TP_PROTO(struct nfsd_file *nf),
749749
TP_ARGS(nf),
750750
TP_STRUCT__entry(
751-
__field(unsigned int, nf_hashval)
752751
__field(void *, nf_inode)
753752
__field(int, nf_ref)
754753
__field(unsigned long, nf_flags)
755754
__field(unsigned char, nf_may)
756755
__field(struct file *, nf_file)
757756
),
758757
TP_fast_assign(
759-
__entry->nf_hashval = nf->nf_hashval;
760758
__entry->nf_inode = nf->nf_inode;
761759
__entry->nf_ref = refcount_read(&nf->nf_ref);
762760
__entry->nf_flags = nf->nf_flags;
763761
__entry->nf_may = nf->nf_may;
764762
__entry->nf_file = nf->nf_file;
765763
),
766-
TP_printk("hash=0x%x inode=%p ref=%d flags=%s may=%s file=%p",
767-
__entry->nf_hashval,
764+
TP_printk("inode=%p ref=%d flags=%s may=%s nf_file=%p",
768765
__entry->nf_inode,
769766
__entry->nf_ref,
770767
show_nf_flags(__entry->nf_flags),
@@ -784,15 +781,18 @@ DEFINE_NFSD_FILE_EVENT(nfsd_file_put);
784781
DEFINE_NFSD_FILE_EVENT(nfsd_file_unhash_and_release_locked);
785782

786783
TRACE_EVENT(nfsd_file_acquire,
787-
TP_PROTO(struct svc_rqst *rqstp, unsigned int hash,
788-
struct inode *inode, unsigned int may_flags,
789-
struct nfsd_file *nf, __be32 status),
784+
TP_PROTO(
785+
struct svc_rqst *rqstp,
786+
struct inode *inode,
787+
unsigned int may_flags,
788+
struct nfsd_file *nf,
789+
__be32 status
790+
),
790791

791-
TP_ARGS(rqstp, hash, inode, may_flags, nf, status),
792+
TP_ARGS(rqstp, inode, may_flags, nf, status),
792793

793794
TP_STRUCT__entry(
794795
__field(u32, xid)
795-
__field(unsigned int, hash)
796796
__field(void *, inode)
797797
__field(unsigned long, may_flags)
798798
__field(int, nf_ref)
@@ -804,7 +804,6 @@ TRACE_EVENT(nfsd_file_acquire,
804804

805805
TP_fast_assign(
806806
__entry->xid = be32_to_cpu(rqstp->rq_xid);
807-
__entry->hash = hash;
808807
__entry->inode = inode;
809808
__entry->may_flags = may_flags;
810809
__entry->nf_ref = nf ? refcount_read(&nf->nf_ref) : 0;
@@ -814,8 +813,8 @@ TRACE_EVENT(nfsd_file_acquire,
814813
__entry->status = be32_to_cpu(status);
815814
),
816815

817-
TP_printk("xid=0x%x hash=0x%x inode=%p may_flags=%s ref=%d nf_flags=%s nf_may=%s nf_file=%p status=%u",
818-
__entry->xid, __entry->hash, __entry->inode,
816+
TP_printk("xid=0x%x inode=%p may_flags=%s ref=%d nf_flags=%s nf_may=%s nf_file=%p status=%u",
817+
__entry->xid, __entry->inode,
819818
show_nfsd_may_flags(__entry->may_flags),
820819
__entry->nf_ref, show_nf_flags(__entry->nf_flags),
821820
show_nfsd_may_flags(__entry->nf_may),
@@ -826,23 +825,20 @@ TRACE_EVENT(nfsd_file_open,
826825
TP_PROTO(struct nfsd_file *nf, __be32 status),
827826
TP_ARGS(nf, status),
828827
TP_STRUCT__entry(
829-
__field(unsigned int, nf_hashval)
830828
__field(void *, nf_inode) /* cannot be dereferenced */
831829
__field(int, nf_ref)
832830
__field(unsigned long, nf_flags)
833831
__field(unsigned long, nf_may)
834832
__field(void *, nf_file) /* cannot be dereferenced */
835833
),
836834
TP_fast_assign(
837-
__entry->nf_hashval = nf->nf_hashval;
838835
__entry->nf_inode = nf->nf_inode;
839836
__entry->nf_ref = refcount_read(&nf->nf_ref);
840837
__entry->nf_flags = nf->nf_flags;
841838
__entry->nf_may = nf->nf_may;
842839
__entry->nf_file = nf->nf_file;
843840
),
844-
TP_printk("hash=0x%x inode=%p ref=%d flags=%s may=%s file=%p",
845-
__entry->nf_hashval,
841+
TP_printk("inode=%p ref=%d flags=%s may=%s file=%p",
846842
__entry->nf_inode,
847843
__entry->nf_ref,
848844
show_nf_flags(__entry->nf_flags),
@@ -851,26 +847,27 @@ TRACE_EVENT(nfsd_file_open,
851847
)
852848

853849
DECLARE_EVENT_CLASS(nfsd_file_search_class,
854-
TP_PROTO(struct inode *inode, unsigned int hash, int found),
855-
TP_ARGS(inode, hash, found),
850+
TP_PROTO(
851+
struct inode *inode,
852+
int found
853+
),
854+
TP_ARGS(inode, found),
856855
TP_STRUCT__entry(
857856
__field(struct inode *, inode)
858-
__field(unsigned int, hash)
859857
__field(int, found)
860858
),
861859
TP_fast_assign(
862860
__entry->inode = inode;
863-
__entry->hash = hash;
864861
__entry->found = found;
865862
),
866-
TP_printk("hash=0x%x inode=%p found=%d", __entry->hash,
867-
__entry->inode, __entry->found)
863+
TP_printk("inode=%p found=%d",
864+
__entry->inode, __entry->found)
868865
);
869866

870867
#define DEFINE_NFSD_FILE_SEARCH_EVENT(name) \
871868
DEFINE_EVENT(nfsd_file_search_class, name, \
872-
TP_PROTO(struct inode *inode, unsigned int hash, int found), \
873-
TP_ARGS(inode, hash, found))
869+
TP_PROTO(struct inode *inode, int found), \
870+
TP_ARGS(inode, found))
874871

875872
DEFINE_NFSD_FILE_SEARCH_EVENT(nfsd_file_close_inode_sync);
876873
DEFINE_NFSD_FILE_SEARCH_EVENT(nfsd_file_close_inode);

0 commit comments

Comments
 (0)