NFSv4: Fix handling of revoked delegations by setattr
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Fri, 12 Apr 2013 19:04:51 +0000 (15:04 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Fri, 12 Apr 2013 19:21:15 +0000 (15:21 -0400)
commitb570a975ed276335dc7d148658c1f880ac0a507f
tree14fb6a82253c34fc65ed558bc97c0adbab21caf9
parentb9536ad52152ff440231dcc2dd9cfa644f5413c9
NFSv4: Fix handling of revoked delegations by setattr

Currently, _nfs4_do_setattr() will use the delegation stateid if no
writeable open file stateid is available.
If the server revokes that delegation stateid, then the call to
nfs4_handle_exception() will fail to handle the error due to the
lack of a struct nfs4_state, and will just convert the error into
an EIO.

This patch just removes the requirement that we must have a
struct nfs4_state in order to invalidate the delegation and
retry.

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