diff options
author | Sage Weil <sage@newdream.net> | 2009-11-18 11:22:36 -0800 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2009-11-18 11:29:42 -0800 |
commit | 42ce56e50d948fc7c1c8c3a749ee5a21a7e134f6 (patch) | |
tree | d9c65553d783b2dd0fff7489be15e314fa78203f /fs/ceph/osd_client.c | |
parent | 11ea8eda064aa4dc6e44a6dade1891b69ebd5255 (diff) | |
download | op-kernel-dev-42ce56e50d948fc7c1c8c3a749ee5a21a7e134f6.zip op-kernel-dev-42ce56e50d948fc7c1c8c3a749ee5a21a7e134f6.tar.gz |
ceph: remove bad calls to ceph_con_shutdown
We want to ceph_con_close when we're done with the connection, before
the ref count reaches 0. Once it does, do not call ceph_con_shutdown,
as that takes the con mutex and may sleep, and besides that is
unnecessary.
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/osd_client.c')
-rw-r--r-- | fs/ceph/osd_client.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/ceph/osd_client.c b/fs/ceph/osd_client.c index 7db14ba..bcb9fe6 100644 --- a/fs/ceph/osd_client.c +++ b/fs/ceph/osd_client.c @@ -350,10 +350,8 @@ static void put_osd(struct ceph_osd *osd) { dout("put_osd %p %d -> %d\n", osd, atomic_read(&osd->o_ref), atomic_read(&osd->o_ref) - 1); - if (atomic_dec_and_test(&osd->o_ref)) { - ceph_con_shutdown(&osd->o_con); + if (atomic_dec_and_test(&osd->o_ref)) kfree(osd); - } } /* |