]> git.baikalelectronics.ru Git - kernel.git/commit
NFSv4: Resend the READ/WRITE RPC call if a stateid change causes an error
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 17 Mar 2013 00:54:34 +0000 (20:54 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 25 Mar 2013 16:04:10 +0000 (12:04 -0400)
commit69af61ea451ed3f4035648b0d81de63c9f7cf081
treed3f2554e5f066bc45fde92f338b46e0910675bd2
parent21c201cb646e5cf39b6fb54129b17fb8066b279e
NFSv4: Resend the READ/WRITE RPC call if a stateid change causes an error

Adds logic to ensure that if the server returns a BAD_STATEID,
or other state related error, then we check if the stateid has
already changed. If it has, then rather than start state recovery,
we should just resend the failed RPC call with the new stateid.

Allow nfs4_select_rw_stateid to notify that the stateid is unstable by
having it return -EWOULDBLOCK if an RPC is underway that might change the
stateid.

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