On Sat, 2009-12-05 at 12:11 -0800, Ricardo Labiaga wrote: > Add session error handling to nfs4_open_delegation_recall() > > Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@xxxxxxxxxx> > --- > fs/nfs/nfs4proc.c | 12 ++++++++++++ > 1 files changed, 12 insertions(+), 0 deletions(-) > > diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c > index fb94ed0..97d4a82 100644 > --- a/fs/nfs/nfs4proc.c > +++ b/fs/nfs/nfs4proc.c > @@ -1169,6 +1169,18 @@ int nfs4_open_delegation_recall(struct nfs_open_context *ctx, struct nfs4_state > case -ENOENT: > case -ESTALE: > goto out; > + case -NFS4ERR_BADSESSION: > + case -NFS4ERR_BADSLOT: > + case -NFS4ERR_BAD_HIGH_SLOT: > + case -NFS4ERR_CONN_NOT_BOUND_TO_SESSION: > + case -NFS4ERR_DEADSESSION: > + case -NFS4ERR_SEQ_FALSE_RETRY: > + case -NFS4ERR_SEQ_MISORDERED: > + dprintk("%s ERROR: %d Reset session\n", > + __func__, err); > + set_bit(NFS4CLNT_SESSION_SETUP, > + &server->nfs_client->cl_state); > + goto out; > case -NFS4ERR_STALE_CLIENTID: > case -NFS4ERR_STALE_STATEID: > case -NFS4ERR_EXPIRED: BADSESSION and DEADSESSION should call nfs4_schedule_state_recovery() instead. The rest can continue to call NFS4CLNT_SESSION_RESET, but should also call nfs4_schedule_state_manager(). Trond -- 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