Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ReplicatedPG::new_repop() returns a pointer to RepGather with two refcounts, one is held by ReplicatedPG::repop_queue, the other is supposed to be held by the caller of this function. but it's caller ReplicatedPG::submit_log_entries() assigns it to a boost::intrusive_ptr<RepGather>() directly, why by default add_ref() in its constructor. this makes the refcount 3. that's why we have a leak of RepGather in `ReplicatedPG::new_repop(ObcLockManager&&, boost::optional<std::function<void ()>>&&)`. Fixes: http://tracker.ceph.com/issues/16801 Signed-off-by: Kefu Chai <kchai@redhat.com>
- Loading branch information