]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
OSD: put connection in disconnect_session_watches as well as the session
authorSamuel Just <sam.just@inktank.com>
Thu, 13 Dec 2012 18:52:28 +0000 (10:52 -0800)
committerSamuel Just <sam.just@inktank.com>
Thu, 13 Dec 2012 18:52:52 +0000 (10:52 -0800)
obc->watchers now has a ref to the connection as well.  This piece of
disconnect_session_watchers essentially parallels remove_watcher and
should generally do the same thing.

Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/OSD.cc

index 2dedaf4049ba04f40b489133c090af12ec546177..c88dfea4818cafaf802f5751740475e22280ff17 100644 (file)
@@ -2463,6 +2463,7 @@ void OSD::disconnect_session_watches(Session *session)
                 << ", expires " << expire << dendl;
         obc->watchers.erase(witer++);
        pg->put_object_context(obc);
+       session->con->put();
        session->put();
       }
       if (witer == obc->watchers.end())