summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda@hq.newdream.net>2009-02-13 17:06:22 -0800
committerYehuda Sadeh <yehuda@hq.newdream.net>2009-02-13 17:06:22 -0800
commitf0a2967f05a903d1d012f8c30a7b87c886232c1d (patch)
treeb66b70f33f41f6a4f1a7ad2b98c50b92af13a863
parentc5ed89a98fe9bc6a037dc4b31e6c596f1f1741c6 (diff)
downloadceph-f0a2967f05a903d1d012f8c30a7b87c886232c1d.tar.gz
kclient: remove client from client list before destorying
-rw-r--r--src/kernel/super.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/kernel/super.c b/src/kernel/super.c
index ed33f35fad9..9560c004184 100644
--- a/src/kernel/super.c
+++ b/src/kernel/super.c
@@ -673,6 +673,10 @@ static void ceph_destroy_client(struct ceph_client *client)
{
dout(10, "destroy_client %p\n", client);
+ spin_lock(&ceph_clients_list_lock);
+ list_del(&client->clients_all);
+ spin_unlock(&ceph_clients_list_lock);
+
/* unmount */
ceph_mdsc_stop(&client->mdsc);
ceph_monc_stop(&client->monc);