[pnfs] [PATCH 01/10] nfs41: don't use delegation stateid on close

andros at umihc.edu andros at umihc.edu
Fri Mar 14 12:23:37 EDT 2008


From: Andy Adamson <andros at umich.edu>

The nfs4_state->stateid holds either a delegation stateid, or the open_stateid
when no delegation is granted. The nfs4_state->open_stateid always holds the
open stateid. Use the nfs4_state->open_stateid for the nfsv41 close operation.

Signed-off-by: Andy Adamson<andros at umich.edu>
---
 fs/nfs/nfs4proc.c |   13 ++-----------
 1 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 2db50bf..2ebeaca 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -1762,19 +1762,10 @@ int nfs4_do_close(struct path *path, struct nfs4_state *state, int wait)
 	calldata->arg.seqid = nfs_alloc_seqid(&state->owner->so_seqid);
 	if (calldata->arg.seqid == NULL)
 		goto out_free_calldata;
-	switch (server->nfs_client->cl_minorversion) {
+	calldata->arg.stateid = &state->open_stateid;
 #ifdef CONFIG_NFS_V4_1
-	case 1:
-		calldata->arg.stateid = &state->stateid;
-		memset(&calldata->arg.stateid->data, 0, 4);
-		break;
+	memset(&calldata->arg.stateid->data, 0, 4);
 #endif /* CONFIG_NFS_V4_1 */
-	case 0:
-		calldata->arg.stateid = &state->open_stateid;
-		break;
-	default:
-		BUG();
-	}
 	calldata->arg.bitmask = server->attr_bitmask;
 	calldata->res.fattr = &calldata->fattr;
 	calldata->res.server = server;
-- 
1.5.0.2



More information about the pNFS mailing list