On 5/19/24 23:51, Chris Rankin wrote:
nfsd_show+0x39/0x18e:
net_generic at /home/chris/LINUX/linux-6.8/include/net/netns/generic.h:47
42 struct net_generic *ng;
43 void *ptr;
44
45 rcu_read_lock();
46 ng = rcu_dereference(net->gen);
47< ptr = ng->ptr[id];
48 rcu_read_unlock();
49
50 return ptr;
51 }
52 #endif
(inlined by) nfsd_show at /home/chris/LINUX/linux-6.8/fs/nfsd/stats.c:38
33 };
34
35 static int nfsd_show(struct seq_file *seq, void *v)
36 {
37 struct net *net = pde_data(file_inode(seq->file));
The implementation of pde_data is depend on CONFIG_PROC_FS, maybe nfsd_show
need to check the dependency too just like write_gssp.
38< struct nfsd_net *nn = net_generic(net, nfsd_net_id);
39 int i;
40
41 seq_printf(seq, "rc %lld %lld %lld\nfh %lld 0 0 0 0\nio
%lld %lld\n",
42
percpu_counter_sum_positive(&nn->counter[NFSD_STATS_RC_HITS]),
43
percpu_counter_sum_positive(&nn->counter[NFSD_STATS_RC_MISSES]),
Thanks,
Guoqing