From 6f357f20e4235d81630ba76ebbc412948d6838ed Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 27 May 2010 14:15:49 -0700 Subject: [PATCH] --- yaml --- r: 199321 b: refs/heads/master c: 79494d1b9b92259eb40ea6e939ba5aff4b8de5f1 h: refs/heads/master i: 199319: 5ecfd7d066177ac43fb6df5b838e43071a6aec9a v: v3 --- [refs] | 2 +- trunk/fs/ceph/osd_client.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 3e270ffec681..37116e1393cd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a922d38fd10d55d5033f10df15baf966e8f5b18c +refs/heads/master: 79494d1b9b92259eb40ea6e939ba5aff4b8de5f1 diff --git a/trunk/fs/ceph/osd_client.c b/trunk/fs/ceph/osd_client.c index afa7bb3895c4..d25b4add85b4 100644 --- a/trunk/fs/ceph/osd_client.c +++ b/trunk/fs/ceph/osd_client.c @@ -361,8 +361,13 @@ 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)) + if (atomic_dec_and_test(&osd->o_ref)) { + struct ceph_auth_client *ac = osd->o_osdc->client->monc.auth; + + if (osd->o_authorizer) + ac->ops->destroy_authorizer(ac, osd->o_authorizer); kfree(osd); + } } /*