On Sat, 2009-12-05 at 12:11 -0800, Ricardo Labiaga wrote: > Update nfs4_delegreturn_done() to retry the operation after setting the > NFS4CLNT_SESSION_SETUP bit to indicate the need to reset the session. > > Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@xxxxxxxxxx> > --- > fs/nfs/nfs4proc.c | 13 +++++++++++-- > 1 files changed, 11 insertions(+), 2 deletions(-) > > diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c > index 97d4a82..25f4180 100644 > --- a/fs/nfs/nfs4proc.c > +++ b/fs/nfs/nfs4proc.c > @@ -3484,9 +3484,18 @@ static void nfs4_delegreturn_done(struct rpc_task *task, void *calldata) > nfs4_sequence_done_free_slot(data->res.server, &data->res.seq_res, > task->tk_status); > > - data->rpc_status = task->tk_status; > - if (data->rpc_status == 0) > + switch (task->tk_status) { > + case -NFS4ERR_STALE_STATEID: > + case -NFS4ERR_EXPIRED: > + case 0: > renew_lease(data->res.server, data->timestamp); > + break; > + default: > + if (nfs4_async_handle_error(task, data->res.server, NULL) == > + -EAGAIN) > + nfs4_restart_rpc(task, data->res.server->nfs_client); return; > + } > + data->rpc_status = task->tk_status; > } > > static void nfs4_delegreturn_release(void *calldata) -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html