On 03/18/2014 04:03 PM, Trond Myklebust wrote: > If a timeout or a signal interrupts the NFSv4 trunking discovery > SETCLIENTID_CONFIRM call, then we don't know whether or not the > server has changed the callback identifier on us. > Assume that it did, and schedule a 'path down' recovery... > > Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Tested-by: Steve Dickson <steved@xxxxxxxxxx> steved. > --- > fs/nfs/nfs4client.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c > index 0e46d3d1b6cc..aa9ef4876046 100644 > --- a/fs/nfs/nfs4client.c > +++ b/fs/nfs/nfs4client.c > @@ -531,6 +531,13 @@ int nfs40_walk_client_list(struct nfs_client *new, > *result = pos; > dprintk("NFS: <-- %s using nfs_client = %p ({%d})\n", > __func__, pos, atomic_read(&pos->cl_count)); > + goto out; > + case -ERESTARTSYS: > + case -ETIMEDOUT: > + /* The callback path may have been inadvertently > + * changed. Schedule recovery! > + */ > + nfs4_schedule_path_down_recovery(pos); > default: > goto out; > } > -- 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