NFSv41: Resend on NFS4ERR_RETRY_UNCACHED_REP
authorAndy Adamson <andros@netapp.com>
Tue, 3 May 2011 17:43:03 +0000 (13:43 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 11 May 2011 18:01:33 +0000 (14:01 -0400)
commita8a4ae3a899a6c0b4771cc57884800d8b76a6996
tree762fa0cc26480ea302d1ade0a03f222fae958565
parent9f381a61f58bb6487c93ce2233bb9992f8ea9211
NFSv41: Resend on NFS4ERR_RETRY_UNCACHED_REP

Free the slot and resend the RPC with new session <slot#,seq#>.

For nfs4_async_handle_error, return -EAGAIN and set the task->tk_status to 0
to restart the async rpc in the rpc_restart_call_prepare state which resets
the slot.

For nfs4_handle_exception, retrying a call that uses nfs4_call_sync will
reset the slot via nfs41_call_sync_prepare.

For open/close/lock/locku/delegreturn/layoutcommit/unlink/rename/write
cachethis is true, so these operations will not trigger an
NFS4ERR_RETRY_UNCACHED_REP.

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