diff options
Diffstat (limited to 'fs/nfsd/nfscache.c')
| -rw-r--r-- | fs/nfsd/nfscache.c | 43 | 
1 files changed, 10 insertions, 33 deletions
diff --git a/fs/nfsd/nfscache.c b/fs/nfsd/nfscache.c index 5c1a4a0aa605..ba9d326b3de6 100644 --- a/fs/nfsd/nfscache.c +++ b/fs/nfsd/nfscache.c @@ -166,8 +166,7 @@ nfsd_reply_cache_free(struct nfsd_drc_bucket *b, struct nfsd_cacherep *rp,  int nfsd_drc_slab_create(void)  { -	drc_slab = kmem_cache_create("nfsd_drc", -				sizeof(struct nfsd_cacherep), 0, 0, NULL); +	drc_slab = KMEM_CACHE(nfsd_cacherep, 0);  	return drc_slab ? 0: -ENOMEM;  } @@ -176,27 +175,6 @@ void nfsd_drc_slab_free(void)  	kmem_cache_destroy(drc_slab);  } -/** - * nfsd_net_reply_cache_init - per net namespace reply cache set-up - * @nn: nfsd_net being initialized - * - * Returns zero on succes; otherwise a negative errno is returned. - */ -int nfsd_net_reply_cache_init(struct nfsd_net *nn) -{ -	return nfsd_percpu_counters_init(nn->counter, NFSD_NET_COUNTERS_NUM); -} - -/** - * nfsd_net_reply_cache_destroy - per net namespace reply cache tear-down - * @nn: nfsd_net being freed - * - */ -void nfsd_net_reply_cache_destroy(struct nfsd_net *nn) -{ -	nfsd_percpu_counters_destroy(nn->counter, NFSD_NET_COUNTERS_NUM); -} -  int nfsd_reply_cache_init(struct nfsd_net *nn)  {  	unsigned int hashsize; @@ -501,7 +479,7 @@ out:  int nfsd_cache_lookup(struct svc_rqst *rqstp, unsigned int start,  		      unsigned int len, struct nfsd_cacherep **cacherep)  { -	struct nfsd_net		*nn; +	struct nfsd_net		*nn = net_generic(SVC_NET(rqstp), nfsd_net_id);  	struct nfsd_cacherep	*rp, *found;  	__wsum			csum;  	struct nfsd_drc_bucket	*b; @@ -510,7 +488,7 @@ int nfsd_cache_lookup(struct svc_rqst *rqstp, unsigned int start,  	int rtn = RC_DOIT;  	if (type == RC_NOCACHE) { -		nfsd_stats_rc_nocache_inc(); +		nfsd_stats_rc_nocache_inc(nn);  		goto out;  	} @@ -520,7 +498,6 @@ int nfsd_cache_lookup(struct svc_rqst *rqstp, unsigned int start,  	 * Since the common case is a cache miss followed by an insert,  	 * preallocate an entry.  	 */ -	nn = net_generic(SVC_NET(rqstp), nfsd_net_id);  	rp = nfsd_cacherep_alloc(rqstp, csum, nn);  	if (!rp)  		goto out; @@ -537,7 +514,7 @@ int nfsd_cache_lookup(struct svc_rqst *rqstp, unsigned int start,  	nfsd_cacherep_dispose(&dispose); -	nfsd_stats_rc_misses_inc(); +	nfsd_stats_rc_misses_inc(nn);  	atomic_inc(&nn->num_drc_entries);  	nfsd_stats_drc_mem_usage_add(nn, sizeof(*rp));  	goto out; @@ -545,7 +522,7 @@ int nfsd_cache_lookup(struct svc_rqst *rqstp, unsigned int start,  found_entry:  	/* We found a matching entry which is either in progress or done. */  	nfsd_reply_cache_free_locked(NULL, rp, nn); -	nfsd_stats_rc_hits_inc(); +	nfsd_stats_rc_hits_inc(nn);  	rtn = RC_DROPIT;  	rp = found; @@ -687,15 +664,15 @@ int nfsd_reply_cache_stats_show(struct seq_file *m, void *v)  		   atomic_read(&nn->num_drc_entries));  	seq_printf(m, "hash buckets:          %u\n", 1 << nn->maskbits);  	seq_printf(m, "mem usage:             %lld\n", -		   percpu_counter_sum_positive(&nn->counter[NFSD_NET_DRC_MEM_USAGE])); +		   percpu_counter_sum_positive(&nn->counter[NFSD_STATS_DRC_MEM_USAGE]));  	seq_printf(m, "cache hits:            %lld\n", -		   percpu_counter_sum_positive(&nfsdstats.counter[NFSD_STATS_RC_HITS])); +		   percpu_counter_sum_positive(&nn->counter[NFSD_STATS_RC_HITS]));  	seq_printf(m, "cache misses:          %lld\n", -		   percpu_counter_sum_positive(&nfsdstats.counter[NFSD_STATS_RC_MISSES])); +		   percpu_counter_sum_positive(&nn->counter[NFSD_STATS_RC_MISSES]));  	seq_printf(m, "not cached:            %lld\n", -		   percpu_counter_sum_positive(&nfsdstats.counter[NFSD_STATS_RC_NOCACHE])); +		   percpu_counter_sum_positive(&nn->counter[NFSD_STATS_RC_NOCACHE]));  	seq_printf(m, "payload misses:        %lld\n", -		   percpu_counter_sum_positive(&nn->counter[NFSD_NET_PAYLOAD_MISSES])); +		   percpu_counter_sum_positive(&nn->counter[NFSD_STATS_PAYLOAD_MISSES]));  	seq_printf(m, "longest chain len:     %u\n", nn->longest_chain);  	seq_printf(m, "cachesize at longest:  %u\n", nn->longest_chain_cachesize);  	return 0;  |