From abc22b7b790f2b8a239e9a20c7d1238d1c4ac23f Mon Sep 17 00:00:00 2001 From: Varsha Rao Date: Fri, 6 Sep 2019 13:13:13 +0530 Subject: [PATCH] mds: Reorganize class members in LogSegment header Fixes: https://tracker.ceph.com/issues/41678 Signed-off-by: Varsha Rao (cherry picked from commit 8751b35210d3d88f7436b4d45e6e30a92bcb3815) --- src/mds/LogSegment.h | 60 +++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/src/mds/LogSegment.h b/src/mds/LogSegment.h index f412a747541c2..eb3ee623509d3 100644 --- a/src/mds/LogSegment.h +++ b/src/mds/LogSegment.h @@ -25,6 +25,9 @@ #include "CDir.h" #include "include/unordered_set.h" + +typedef uint64_t log_segment_seq_t; + using ceph::unordered_set; class CDir; @@ -33,13 +36,33 @@ class CDentry; class MDSRank; struct MDSlaveUpdate; -typedef uint64_t log_segment_seq_t; - class LogSegment { public: + LogSegment(uint64_t _seq, loff_t off=-1) : + seq(_seq), offset(off), end(off), + dirty_dirfrags(member_offset(CDir, item_dirty)), + new_dirfrags(member_offset(CDir, item_new)), + dirty_inodes(member_offset(CInode, item_dirty)), + dirty_dentries(member_offset(CDentry, item_dirty)), + open_files(member_offset(CInode, item_open_file)), + dirty_parent_inodes(member_offset(CInode, item_dirty_parent)), + dirty_dirfrag_dir(member_offset(CInode, item_dirty_dirfrag_dir)), + dirty_dirfrag_nest(member_offset(CInode, item_dirty_dirfrag_nest)), + dirty_dirfrag_dirfragtree(member_offset(CInode, item_dirty_dirfrag_dirfragtree)), + slave_updates(0) // passed to begin() manually + {} + + void try_to_expire(MDSRank *mds, MDSGatherBuilder &gather_bld, int op_prio); + + void wait_for_expiry(MDSContext *c) + { + ceph_assert(c != NULL); + expiry_waiters.push_back(c); + } + const log_segment_seq_t seq; uint64_t offset, end; - int num_events; + int num_events = 0; // dirty items elist dirty_dirfrags, new_dirfrags; @@ -53,7 +76,7 @@ class LogSegment { elist dirty_dirfrag_dirfragtree; elist slave_updates; - + set truncating_inodes; map > pending_commit_tids; // mdstable @@ -67,36 +90,11 @@ class LogSegment { std::set touched_sessions; // table version - version_t inotablev; - version_t sessionmapv; + version_t inotablev = 0; + version_t sessionmapv = 0; map tablev; - // try to expire - void try_to_expire(MDSRank *mds, MDSGatherBuilder &gather_bld, int op_prio); - MDSContext::vec expiry_waiters; - - void wait_for_expiry(MDSContext *c) - { - ceph_assert(c != NULL); - expiry_waiters.push_back(c); - } - - // cons - LogSegment(uint64_t _seq, loff_t off=-1) : - seq(_seq), offset(off), end(off), num_events(0), - dirty_dirfrags(member_offset(CDir, item_dirty)), - new_dirfrags(member_offset(CDir, item_new)), - dirty_inodes(member_offset(CInode, item_dirty)), - dirty_dentries(member_offset(CDentry, item_dirty)), - open_files(member_offset(CInode, item_open_file)), - dirty_parent_inodes(member_offset(CInode, item_dirty_parent)), - dirty_dirfrag_dir(member_offset(CInode, item_dirty_dirfrag_dir)), - dirty_dirfrag_nest(member_offset(CInode, item_dirty_dirfrag_nest)), - dirty_dirfrag_dirfragtree(member_offset(CInode, item_dirty_dirfrag_dirfragtree)), - slave_updates(0), // passed to begin() manually - inotablev(0), sessionmapv(0) - { } }; #endif -- 2.39.5