ceph: fix leak of osd authorizer
Release the ceph_authorizer when releasing osd state. Signed-off-by: Sage Weil <sage@newdream.net>
This commit is contained in:
parent
a922d38fd1
commit
79494d1b9b
1 changed files with 6 additions and 1 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue