NFS: Always use the open stateid when checking for expired opens
authorBryan Schumaker <bjschuma@netapp.com>
Wed, 26 Sep 2012 19:25:53 +0000 (15:25 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 1 Oct 2012 22:17:17 +0000 (15:17 -0700)
If we are reading through a delegation, and the delegation is OK then
state->stateid will still point to a delegation stateid and not an open
stateid.

Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfs4proc.c

index ce1ebff49fd704258ac80e137a3a9b414cc55b68..755ee162ee7e0a75e44922bb2a9bc05b9c67d42b 100644 (file)
@@ -1790,7 +1790,7 @@ static void nfs41_clear_delegation_stateid(struct nfs4_state *state)
 static int nfs41_check_open_stateid(struct nfs4_state *state)
 {
        struct nfs_server *server = NFS_SERVER(state->inode);
-       nfs4_stateid *stateid = &state->stateid;
+       nfs4_stateid *stateid = &state->open_stateid;
        int status;
 
        /* If a state reset has been done, test_stateid is unneeded */