From: Benny Halevy <bhalevy@panasas.com>
Date: Fri, 26 Sep 2008 12:14:13 +0000 (+0300)
Subject: nfsd: do_probe_callback should not clear rpc stats
X-Git-Tag: v2.6.28-rc1~576^2~15
X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=97eb89bb0e5d9ab20dbc677cb18fad1421473287;p=linux-2.6-omap-h63xx.git

nfsd: do_probe_callback should not clear rpc stats

Now that cb_stats are static (since commit
ff7d9756b501744540be65e172d27ee321d86103)
there's no need to clear them.

Initially I thought it might make sense to do
that every callback probing but since the stats
are per-program and they are shared between possibly
several client callback instances, zeroing them out
seems like the wrong thing to do.

Note that that commit also introduced a bug
since stats.program is also being cleared in the process
and it is not restored after the memset as it used to be.

Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
---

diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
index ab13e02c568..f7c793a5b80 100644
--- a/fs/nfsd/nfs4callback.c
+++ b/fs/nfsd/nfs4callback.c
@@ -397,9 +397,6 @@ static int do_probe_callback(void *data)
 	addr.sin_port = htons(cb->cb_port);
 	addr.sin_addr.s_addr = htonl(cb->cb_addr);
 
-	/* Initialize rpc_stat */
-	memset(args.program->stats, 0, sizeof(struct rpc_stat));
-
 	/* Create RPC client */
 	client = rpc_create(&args);
 	if (IS_ERR(client)) {