Reviewing your more recent patches I think we have a problem with some of the code that's already merged. See the comment in svc_shutdown_net: void svc_shutdown_net(struct svc_serv *serv, struct net *net) { /* * The set of xprts (contained in the sv_tempsocks and * sv_permsocks lists) is now constant, since it is modified * only by accepting new sockets (done by service threads in * svc_recv) or aging old ones (done by sv_temptimer), or * configuration changes (excluded by whatever locking the * caller is using--nfsd_mutex in the case of nfsd). So it's * safe to traverse those lists and shut everything down: */ svc_close_net(serv, net); if (serv->sv_shutdown) serv->sv_shutdown(serv, net); } So we depend on the fact that neither the server threads nor sv_temptimer are running here to be able to safely traverse those lists of sockets. But it looks to me like that's no longer true--we're shutting down just one namespace here, and others may still be running. If so and if they modify sv_tempsocks or sv_permsocks while we're running through them then we're going to get a crash. --b. -- 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