]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds/Locker: fix Session leak on access denial
authorSage Weil <sage@redhat.com>
Fri, 26 Feb 2016 15:32:15 +0000 (10:32 -0500)
committerSage Weil <sage@redhat.com>
Tue, 1 Mar 2016 16:18:17 +0000 (11:18 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/mds/Locker.cc

index ec80aeb4a703f9edb1b5df23f6b76563289e42b2..ddd99b28a78fe0e7371e011e714f6113fc62f894 100644 (file)
@@ -3151,6 +3151,7 @@ bool Locker::_do_cap_update(CInode *in, Capability *cap,
   Session *session = static_cast<Session *>(m->get_connection()->get_priv());
   if (session->check_access(in, MAY_WRITE,
                            m->caller_uid, m->caller_gid, 0, 0) < 0) {
+    session->put();
     dout(10) << "check_access failed, dropping cap update on " << *in << dendl;
     return false;
   }