瀏覽代碼

NFSv4: Ignore NFS4ERR_OLD_STATEID in nfs41_check_open_stateid()

If the call to TEST_STATEID returns NFS4ERR_OLD_STATEID, then it just
means we raced with other calls to OPEN.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Trond Myklebust 8 年之前
父節點
當前提交
c0ca0e5934
共有 1 個文件被更改,包括 1 次插入2 次删除
  1. 1 2
      fs/nfs/nfs4proc.c

+ 1 - 2
fs/nfs/nfs4proc.c

@@ -2553,9 +2553,8 @@ static int nfs41_check_open_stateid(struct nfs4_state *state)
 		clear_bit(NFS_O_RDWR_STATE, &state->flags);
 		clear_bit(NFS_O_RDWR_STATE, &state->flags);
 		clear_bit(NFS_OPEN_STATE, &state->flags);
 		clear_bit(NFS_OPEN_STATE, &state->flags);
 		stateid->type = NFS4_INVALID_STATEID_TYPE;
 		stateid->type = NFS4_INVALID_STATEID_TYPE;
-	}
-	if (status != NFS_OK)
 		return status;
 		return status;
+	}
 	if (nfs_open_stateid_recover_openmode(state))
 	if (nfs_open_stateid_recover_openmode(state))
 		return -NFS4ERR_OPENMODE;
 		return -NFS4ERR_OPENMODE;
 	return NFS_OK;
 	return NFS_OK;