From: Varsha Rao Date: Thu, 14 Nov 2019 14:23:50 +0000 (+0530) Subject: mds: Reorganize class members in RecoveryQueue header X-Git-Tag: v15.1.0~551^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d3e16537ac3ac921bac9ac00b69408653aa55c3c;p=ceph.git mds: Reorganize class members in RecoveryQueue header Fixes: https://tracker.ceph.com/issues/42813 Signed-off-by: Varsha Rao --- diff --git a/src/mds/RecoveryQueue.cc b/src/mds/RecoveryQueue.cc index e02de3671ba..2a101a21262 100644 --- a/src/mds/RecoveryQueue.cc +++ b/src/mds/RecoveryQueue.cc @@ -26,9 +26,18 @@ #define dout_prefix *_dout << "mds." << mds->get_nodeid() << " RecoveryQueue::" << __func__ << " " class C_MDC_Recover : public MDSIOContextBase { +public: + C_MDC_Recover(RecoveryQueue *rq_, CInode *i) : + MDSIOContextBase(false), rq(rq_), in(i) { + ceph_assert(rq != NULL); + } + void print(ostream& out) const override { + out << "file_recover(" << in->ino() << ")"; + } + + uint64_t size = 0; + utime_t mtime; protected: - RecoveryQueue *rq; - CInode *in; void finish(int r) override { rq->_recovered(in, r, size, mtime); } @@ -37,27 +46,16 @@ protected: return rq->mds; } -public: - uint64_t size; - utime_t mtime; - - C_MDC_Recover(RecoveryQueue *rq_, CInode *i) : - MDSIOContextBase(false), rq(rq_), in(i), size(0) { - ceph_assert(rq != NULL); - } - void print(ostream& out) const override { - out << "file_recover(" << in->ino() << ")"; - } + RecoveryQueue *rq; + CInode *in; }; - RecoveryQueue::RecoveryQueue(MDSRank *mds_) : file_recover_queue(member_offset(CInode, item_dirty_dirfrag_dir)), file_recover_queue_front(member_offset(CInode, item_dirty_dirfrag_nest)), - mds(mds_), logger(NULL), filer(mds_->objecter, mds_->finisher) + mds(mds_), filer(mds_->objecter, mds_->finisher) { } - /** * Progress the queue. Call this after enqueuing something or on * completion of something. diff --git a/src/mds/RecoveryQueue.h b/src/mds/RecoveryQueue.h index a1e6ac487cf..cc2c69c905e 100644 --- a/src/mds/RecoveryQueue.h +++ b/src/mds/RecoveryQueue.h @@ -27,14 +27,17 @@ class PerfCounters; class RecoveryQueue { public: + explicit RecoveryQueue(MDSRank *mds_); + void enqueue(CInode *in); void advance(); void prioritize(CInode *in); ///< do this inode now/soon - explicit RecoveryQueue(MDSRank *mds_); void set_logger(PerfCounters *p) {logger=p;} private: + friend class C_MDC_Recover; + void _start(CInode *in); ///< start recovering this file void _recovered(CInode *in, int r, uint64_t size, utime_t mtime); @@ -46,10 +49,8 @@ private: std::map file_recovering; // inode -> need_restart MDSRank *mds; - PerfCounters *logger; + PerfCounters *logger = nullptr; Filer filer; - - friend class C_MDC_Recover; }; #endif // RECOVERY_QUEUE_H