Fixes: http://tracker.ceph.com/issues/18407
Fixes: http://tracker.ceph.com/issues/18414
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
7a4975adba8b890e211d47662896e445a9822970)
Mutex::Locker l(lock);
if (cn) {
cns.insert(cn);
- cn->get();
}
}
Mutex::Locker l(lock);
if (cn) {
cns.erase(cn);
- cn->put();
}
}
{
if (cn) {
cns.erase(cn);
- cn->put();
}
complete_reqs.push_back(user_info);
cond.Signal();
#endif
#include <boost/asio.hpp>
+#include <boost/intrusive_ptr.hpp>
#ifdef NEED_ASSERT_H
#pragma pop_macro("_ASSERT_H")
class RGWCompletionManager : public RefCountedObject {
CephContext *cct;
list<void *> complete_reqs;
- set<RGWAioCompletionNotifier *> cns;
+ using NotifierRef = boost::intrusive_ptr<RGWAioCompletionNotifier>;
+ set<NotifierRef> cns;
Mutex lock;
Cond cond;