diff --git a/src/journal/JournalTrimmer.cc b/src/journal/JournalTrimmer.cc index 5e68349513cfa..a4adb521ec7f3 100644 --- a/src/journal/JournalTrimmer.cc +++ b/src/journal/JournalTrimmer.cc @@ -13,6 +13,22 @@ namespace journal { +struct JournalTrimmer::C_RemoveSet : public Context { + JournalTrimmer *journal_trimmer; + uint64_t object_set; + Mutex lock; + uint32_t refs; + int return_value; + + C_RemoveSet(JournalTrimmer *_journal_trimmer, uint64_t _object_set, + uint8_t _splay_width); + virtual void complete(int r); + virtual void finish(int r) { + journal_trimmer->handle_set_removed(r, object_set); + journal_trimmer->m_async_op_tracker.finish_op(); + } +}; + JournalTrimmer::JournalTrimmer(librados::IoCtx &ioctx, const std::string &object_oid_prefix, const JournalMetadataPtr &journal_metadata) diff --git a/src/journal/JournalTrimmer.h b/src/journal/JournalTrimmer.h index 89de0205cbf8b..55379be7bbdb7 100644 --- a/src/journal/JournalTrimmer.h +++ b/src/journal/JournalTrimmer.h @@ -58,21 +58,8 @@ class JournalTrimmer { virtual void finish(int r) { } }; - struct C_RemoveSet : public Context { - JournalTrimmer *journal_trimmer; - uint64_t object_set; - Mutex lock; - uint32_t refs; - int return_value; - - C_RemoveSet(JournalTrimmer *_journal_trimmer, uint64_t _object_set, - uint8_t _splay_width); - virtual void complete(int r); - virtual void finish(int r) { - journal_trimmer->handle_set_removed(r, object_set); - journal_trimmer->m_async_op_tracker.finish_op(); - } - }; + + struct C_RemoveSet; librados::IoCtx m_ioctx; CephContext *m_cct;