]> 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)
commit58402083e48ed6ce6472a927b6f6cc444596dbd3
treed3f2554e5f066bc45fde92f338b46e0910675bd2
parent2083cecd927e47ce428ab3f396415b8d1d52692b
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