RFC8881 does not explicitly state that server must grant write delegation to OPEN with OPEN4_SHARE_ACCESS_WRITE only. However there are text in the RFC that implies it is up to the server implementation to offer write delegation for OPEN with OPEN4_SHARE_ACCESS_WRITE only. Section 9.1.2: "In the case of READ, the server may perform the corresponding check on the access mode, or it may choose to allow READ for OPEN4_SHARE_ACCESS_WRITE, to accommodate clients whose WRITE implementation may unavoidably do (e.g., due to buffer cache constraints)." Also in section 10.4.1 "Similarly, when closing a file opened for OPEN4_SHARE_ACCESS_WRITE/ OPEN4_SHARE_ACCESS_BOTH and if an OPEN_DELEGATE_WRITE delegation is in effect" This patch series offers write delegation for OPEN with OPEN4_SHARE_ACCESS_WRITE only. When this condition is detected in nfsd4_encode_read the access mode FMODE_READ is temporarily added to the file's f_mode and is removed when the read is done. fs/nfsd/nfs4proc.c | 15 ++++++++++++++- fs/nfsd/nfs4state.c | 34 +++++++++++++--------------------- fs/nfsd/nfs4xdr.c | 8 ++++++++ fs/nfsd/xdr4.h | 1 + 4 files changed, 36 insertions(+), 22 deletions(-)