On Fri, 2013-01-18 at 16:33 -0500, Chuck Lever wrote: > On Jan 18, 2013, at 4:28 PM, Ben Greear <greearb@xxxxxxxxxxxxxxx> wrote: > > > Any chance the STALE_CLIENTID case needs a 'break'? > > I don't think so. LEASE_CONFIRM is set, and we want to wake the state renewal thread. > > > > > Twice I've seen kernel crashes after the nfs40_walk_client_list > > failed (though code comments say it should never fail). > > nfs40_walk_client_list() is looking for an nfs_client that is supposed to already be in the nfs_client list. If the search fails, that's a bug. > > Eyeball the contents of your nfs_client list. You should find an appropriate nfs_client in there, and then figure out why the search doesn't find it. You have considered the fact that the call to nfs4_proc_setclientid_confirm can potentially return NFS4ERR_STALE_CLIENTID if the server rebooted while the client was walking the list? Either way, we shouldn't be deliberately passing an uninitialised variable as an argument to nfs4_schedule_state_renewal(). -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@xxxxxxxxxx www.netapp.com ��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥