]> git.baikalelectronics.ru Git - kernel.git/commit
NFSv4: Servers should only check SETATTR stateid open mode on size change
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 29 Apr 2013 14:35:36 +0000 (10:35 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 29 Apr 2013 15:11:39 +0000 (11:11 -0400)
commita382d110b6144ddc1e574bed39b0c917eefa2a37
tree7369401ff7712c5c0c4a7ab8378dc41986c5cba7
parent54251384c37660a525338aa9073895da42971217
NFSv4: Servers should only check SETATTR stateid open mode on size change

The NFSv4 and NFSv4.1 specs are both clear that the server should only check
stateid open mode if a SETATTR specifies the size attribute. If the
open mode is not one that allows writing, then it returns NFS4ERR_OPENMODE.

In the case where the SETATTR is not changing the size, the client will
still pass it the delegation stateid to ensure that the server does not
recall that delegation. In that case, the server should _ignore_ the
delegation open mode, and simply apply standard permission checks.

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