]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: reorg LogEvent def
authorPatrick Donnelly <pdonnell@redhat.com>
Thu, 14 Feb 2019 18:55:41 +0000 (10:55 -0800)
committerPatrick Donnelly <pdonnell@redhat.com>
Thu, 14 Feb 2019 21:50:12 +0000 (13:50 -0800)
To follow code-style guidelines and protect some members.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/mds/LogEvent.h
src/mds/journal.cc

index f9133b9aac47a8d1f21f0f7beedc2b334077531d..73e2438f6273f981710d8e154d38c9c08dde84c3 100644 (file)
@@ -53,26 +53,14 @@ class EMetaBlob;
 // generic log event
 class LogEvent {
 public:
- typedef __u32 EventType;
-
-private:
-  EventType _type;
-  uint64_t _start_off;
-  static std::unique_ptr<LogEvent> decode_event(bufferlist::const_iterator&, EventType);
-
-protected:
-  utime_t stamp;
-
   friend class MDLog;
+  typedef __u32 EventType;
 
-public:
-  LogSegment *_segment;
-
-  explicit LogEvent(int t)
-    : _type(t), _start_off(0), _segment(0) { }
+  LogEvent() = delete;
+  explicit LogEvent(int t) : _type(t) {}
   LogEvent(const LogEvent&) = delete;
-  virtual ~LogEvent() { }
   LogEvent& operator=(const LogEvent&) = delete;
+  virtual ~LogEvent() {}
 
   string get_type_str() const;
   static EventType str_to_type(std::string_view str);
@@ -120,8 +108,20 @@ public:
    */
   virtual EMetaBlob *get_metablob() { return NULL; }
 
+protected:
+  utime_t stamp;
+
+  LogSegment* get_segment() { return _segment; }
+  LogSegment const* get_segment() const { return _segment; }
+
 private:
   static const std::map<std::string, LogEvent::EventType> types;
+
+  static std::unique_ptr<LogEvent> decode_event(bufferlist::const_iterator&, EventType);
+
+  EventType _type = 0;
+  uint64_t _start_off = 0;
+  LogSegment *_segment = nullptr;
 };
 
 inline ostream& operator<<(ostream& out, const LogEvent &le) {
index 4a9a51ebd4707d3b0bd27a4721149e74f90fb096..4eec4ada2b1f6dda0e98a98db2407bc67576f56f 100644 (file)
@@ -1607,9 +1607,9 @@ void EMetaBlob::replay(MDSRank *mds, LogSegment *logseg, MDSlaveUpdate *slaveup)
 
 void ESession::update_segment()
 {
-  _segment->sessionmapv = cmapv;
+  get_segment()->sessionmapv = cmapv;
   if (inos.size() && inotablev)
-    _segment->inotablev = inotablev;
+    get_segment()->inotablev = inotablev;
 }
 
 void ESession::replay(MDSRank *mds)
@@ -1769,7 +1769,7 @@ void ESessions::generate_test_instances(list<ESessions*>& ls)
 
 void ESessions::update_segment()
 {
-  _segment->sessionmapv = cmapv;
+  get_segment()->sessionmapv = cmapv;
 }
 
 void ESessions::replay(MDSRank *mds)
@@ -1837,7 +1837,7 @@ void ETableServer::generate_test_instances(list<ETableServer*>& ls)
 
 void ETableServer::update_segment()
 {
-  _segment->tablev[table] = version;
+  get_segment()->tablev[table] = version;
 }
 
 void ETableServer::replay(MDSRank *mds)
@@ -1946,7 +1946,7 @@ void ETableClient::replay(MDSRank *mds)
 /*
 void ESnap::update_segment()
 {
-  _segment->tablev[TABLE_SNAP] = version;
+  get_segment()->tablev[TABLE_SNAP] = version;
 }
 
 void ESnap::replay(MDSRank *mds)
@@ -2027,24 +2027,26 @@ void EUpdate::generate_test_instances(list<EUpdate*>& ls)
 
 void EUpdate::update_segment()
 {
-  metablob.update_segment(_segment);
+  auto&& segment = get_segment();
+  metablob.update_segment(segment);
 
   if (client_map.length())
-    _segment->sessionmapv = cmapv;
+    segment->sessionmapv = cmapv;
 
   if (had_slaves)
-    _segment->uncommitted_masters.insert(reqid);
+    segment->uncommitted_masters.insert(reqid);
 }
 
 void EUpdate::replay(MDSRank *mds)
 {
-  metablob.replay(mds, _segment);
+  auto&& segment = get_segment();
+  metablob.replay(mds, segment);
   
   if (had_slaves) {
     dout(10) << "EUpdate.replay " << reqid << " had slaves, expecting a matching ECommitted" << dendl;
-    _segment->uncommitted_masters.insert(reqid);
+    segment->uncommitted_masters.insert(reqid);
     set<mds_rank_t> slaves;
-    mds->mdcache->add_uncommitted_master(reqid, _segment, slaves, true);
+    mds->mdcache->add_uncommitted_master(reqid, segment, slaves, true);
   }
   
   if (client_map.length()) {
@@ -2122,7 +2124,8 @@ void EOpen::update_segment()
 void EOpen::replay(MDSRank *mds)
 {
   dout(10) << "EOpen.replay " << dendl;
-  metablob.replay(mds, _segment);
+  auto&& segment = get_segment();
+  metablob.replay(mds, segment);
 
   // note which segments inodes belong to, so we don't have to start rejournaling them
   for (const auto &ino : inos) {
@@ -2131,7 +2134,7 @@ void EOpen::replay(MDSRank *mds)
       dout(0) << "EOpen.replay ino " << ino << " not in metablob" << dendl;
       ceph_assert(in);
     }
-    _segment->open_files.push_back(&in->item_open_file);
+    segment->open_files.push_back(&in->item_open_file);
   }
   for (const auto &vino : snap_inos) {
     CInode *in = mds->mdcache->get_inode(vino);
@@ -2139,7 +2142,7 @@ void EOpen::replay(MDSRank *mds)
       dout(0) << "EOpen.replay ino " << vino << " not in metablob" << dendl;
       ceph_assert(in);
     }
-    _segment->open_files.push_back(&in->item_open_file);
+    segment->open_files.push_back(&in->item_open_file);
   }
 }
 
@@ -2433,12 +2436,13 @@ void ESlaveUpdate::generate_test_instances(list<ESlaveUpdate*>& ls)
 void ESlaveUpdate::replay(MDSRank *mds)
 {
   MDSlaveUpdate *su;
+  auto&& segment = get_segment();
   switch (op) {
   case ESlaveUpdate::OP_PREPARE:
     dout(10) << "ESlaveUpdate.replay prepare " << reqid << " for mds." << master 
             << ": applying commit, saving rollback info" << dendl;
-    su = new MDSlaveUpdate(origop, rollback, _segment->slave_updates);
-    commit.replay(mds, _segment, su);
+    su = new MDSlaveUpdate(origop, rollback, segment->slave_updates);
+    commit.replay(mds, segment, su);
     mds->mdcache->add_uncommitted_slave_update(reqid, master, su);
     break;
 
@@ -2456,7 +2460,7 @@ void ESlaveUpdate::replay(MDSRank *mds)
   case ESlaveUpdate::OP_ROLLBACK:
     dout(10) << "ESlaveUpdate.replay abort " << reqid << " for mds." << master
             << ": applying rollback commit blob" << dendl;
-    commit.replay(mds, _segment);
+    commit.replay(mds, segment);
     su = mds->mdcache->get_uncommitted_slave_update(reqid, master);
     if (su)
       mds->mdcache->finish_uncommitted_slave_update(reqid, master);
@@ -2637,7 +2641,7 @@ void ESubtreeMap::replay(MDSRank *mds)
   
   // first, stick the spanning tree in my cache
   //metablob.print(*_dout);
-  metablob.replay(mds, _segment);
+  metablob.replay(mds, get_segment());
   
   // restore import/export maps
   for (map<dirfrag_t, vector<dirfrag_t> >::iterator p = subtrees.begin();
@@ -2678,9 +2682,10 @@ void EFragment::replay(MDSRank *mds)
   // refragment anything we already have in the cache.
   CInode *in = mds->mdcache->get_inode(ino);
 
+  auto&& segment = get_segment();
   switch (op) {
   case OP_PREPARE:
-    mds->mdcache->add_uncommitted_fragment(dirfrag_t(ino, basefrag), bits, orig_frags, _segment, &rollback);
+    mds->mdcache->add_uncommitted_fragment(dirfrag_t(ino, basefrag), bits, orig_frags, segment, &rollback);
 
     if (in)
       mds->mdcache->adjust_dir_fragments(in, basefrag, bits, resultfrags, waiters, true);
@@ -2711,7 +2716,7 @@ void EFragment::replay(MDSRank *mds)
     ceph_abort();
   }
 
-  metablob.replay(mds, _segment);
+  metablob.replay(mds, segment);
   if (in && g_conf()->mds_debug_frag)
     in->verify_dirfrags();
 }
@@ -2790,7 +2795,8 @@ void dirfrag_rollback::decode(bufferlist::const_iterator &bl)
 void EExport::replay(MDSRank *mds)
 {
   dout(10) << "EExport.replay " << base << dendl;
-  metablob.replay(mds, _segment);
+  auto&& segment = get_segment();
+  metablob.replay(mds, segment);
   
   CDir *dir = mds->mdcache->get_dirfrag(base);
   ceph_assert(dir);
@@ -2861,14 +2867,15 @@ void EExport::generate_test_instances(list<EExport*>& ls)
 
 void EImportStart::update_segment()
 {
-  _segment->sessionmapv = cmapv;
+  get_segment()->sessionmapv = cmapv;
 }
 
 void EImportStart::replay(MDSRank *mds)
 {
   dout(10) << "EImportStart.replay " << base << " bounds " << bounds << dendl;
   //metablob.print(*_dout);
-  metablob.replay(mds, _segment);
+  auto&& segment = get_segment();
+  metablob.replay(mds, segment);
 
   // put in ambiguous import list
   mds->mdcache->add_ambiguous_import(base, bounds);