From 6fe91035b82a540e7ca935f471550e8ab2edfc9b Mon Sep 17 00:00:00 2001 From: Trond Myklebust Date: Tue, 7 Feb 2012 00:05:11 -0500 Subject: [PATCH] --- yaml --- r: 294475 b: refs/heads/master c: 4c03ae4a897b52e0e8fc38749606549eaa20d5b7 h: refs/heads/master i: 294473: 8c80d0863402fa64df1af1b472269c1acad556cc 294471: 7f0c8b21e5b9c221a93ca813ae68a5236644d114 v: v3 --- [refs] | 2 +- trunk/fs/nfs/client.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 4034949321ab..6c6328cc5842 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3b64739fb928c34b13db6b5adcb0d3efb19e78be +refs/heads/master: 4c03ae4a897b52e0e8fc38749606549eaa20d5b7 diff --git a/trunk/fs/nfs/client.c b/trunk/fs/nfs/client.c index 1a5cd49dff80..6f6267cb6bad 100644 --- a/trunk/fs/nfs/client.c +++ b/trunk/fs/nfs/client.c @@ -1055,11 +1055,14 @@ static void nfs_server_insert_lists(struct nfs_server *server) static void nfs_server_remove_lists(struct nfs_server *server) { struct nfs_client *clp = server->nfs_client; - struct nfs_net *nn = net_generic(clp->net, nfs_net_id); + struct nfs_net *nn; + if (clp == NULL) + return; + nn = net_generic(clp->net, nfs_net_id); spin_lock(&nn->nfs_client_lock); list_del_rcu(&server->client_link); - if (clp && list_empty(&clp->cl_superblocks)) + if (list_empty(&clp->cl_superblocks)) set_bit(NFS_CS_STOP_RENEW, &clp->cl_res_state); list_del(&server->master_link); spin_unlock(&nn->nfs_client_lock); @@ -1777,6 +1780,7 @@ void nfs_clients_init(struct net *net) #ifdef CONFIG_NFS_V4 idr_init(&nn->cb_ident_idr); #endif + spin_lock_init(&nn->nfs_client_lock); } #ifdef CONFIG_PROC_FS