[pnfs] [PATCH 17/17] [SQUASHME] nfs41: optimize nfs41_setup_sequence for the minorversion 0 case

Benny Halevy bhalevy at panasas.com
Tue Jun 3 13:41:21 EDT 2008


Signed-off-by: Benny Halevy <bhalevy at panasas.com>
---
 fs/nfs/nfs4proc.c |   27 ++++++++++-----------------
 1 files changed, 10 insertions(+), 17 deletions(-)

diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index d4cf831..fed52ea 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -435,26 +435,19 @@ int nfs4_setup_sequence(struct nfs_client *clp,
 
 	dprintk("--> %s clp %p session %p cl_minorversion %d\n",
 		__func__, clp, session, clp->cl_minorversion);
-	switch (clp->cl_minorversion) {
-	case 1:
-		if (nfs41_test_session_expired(session)) {
-			ret = nfs41_recover_session_sync(task->tk_client, clp,
-							 session);
-			if (ret)
-				break;
-		}
-		ret = nfs41_setup_sequence(session, args,
-				res, cache_reply, task);
-		break;
-	case 0:
-		break;
-	default:
-		BUG();
-	}
 
+	if (clp->cl_minorversion == 0)
+		goto out;
+	BUG_ON(clp->cl_minorversion != 1);
+	if (nfs41_test_session_expired(session))
+		ret = nfs41_recover_session_sync(task->tk_client, clp,
+						 session);
+	if (!ret)
+		ret = nfs41_setup_sequence(session, args, res,
+					    cache_reply, task);
 	if (ret)
 		memset(res, 0, sizeof(*res));
-
+out:
 	dprintk("<-- %s status=%d\n", __func__, ret);
 	return ret;
 }
-- 
1.5.3.3



More information about the pNFS mailing list