diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-04-20 01:25:45 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-04-20 01:39:42 -0400 |
commit | 92b40e93849e29f9ca661de6442bb66282738bf7 (patch) | |
tree | 3809ff1f036c1ecbdf7fd265046e49fdefe8eb68 /fs/nfs/nfs4_fs.h | |
parent | 042ad0b398ea4e937e38324dd096bdf9d2c495f7 (diff) | |
download | op-kernel-dev-92b40e93849e29f9ca661de6442bb66282738bf7.zip op-kernel-dev-92b40e93849e29f9ca661de6442bb66282738bf7.tar.gz |
NFSv4: Use the open stateid if the delegation has the wrong mode
Fix nfs4_select_rw_stateid() so that it chooses the open stateid
(or an all-zero stateid) if the delegation does not match the selected
read/write mode.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4_fs.h')
-rw-r--r-- | fs/nfs/nfs4_fs.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h index 7ef19ce..553a83c 100644 --- a/fs/nfs/nfs4_fs.h +++ b/fs/nfs/nfs4_fs.h @@ -144,6 +144,7 @@ struct nfs4_lock_state { enum { LK_STATE_IN_USE, NFS_DELEGATED_STATE, /* Current stateid is delegation */ + NFS_OPEN_STATE, /* OPEN stateid is set */ NFS_O_RDONLY_STATE, /* OPEN stateid has read-only state */ NFS_O_WRONLY_STATE, /* OPEN stateid has write-only state */ NFS_O_RDWR_STATE, /* OPEN stateid has read/write state */ |