]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mdsmap: add a last_changed utime_t data member.
authorGreg Farnum <gregf@hq.newdream.net>
Thu, 8 Oct 2009 23:28:39 +0000 (16:28 -0700)
committerGreg Farnum <gregf@hq.newdream.net>
Fri, 9 Oct 2009 23:44:51 +0000 (16:44 -0700)
src/mon/MonMap.h
src/mon/MonmapMonitor.cc

index 9313d9f0ec3b369f2ed607acdbfd224faaaac860..24f4ef0f17be64d2aa09e636af9514effbe9fbdd 100644 (file)
@@ -26,11 +26,13 @@ class MonMap {
   epoch_t epoch;       // what epoch/version of the monmap
   ceph_fsid_t fsid;
   vector<entity_inst_t> mon_inst;
+  utime_t last_changed;
 
   int       last_mon;    // last mon i talked to
 
   MonMap() : epoch(0), last_mon(-1) {
     memset(&fsid, 0, sizeof(fsid));
+    last_changed = g_clock.now();
   }
 
   ceph_fsid_t& get_fsid() { return fsid; }
@@ -89,6 +91,7 @@ class MonMap {
     ::encode_raw(fsid, blist);
     ::encode(epoch, blist);
     ::encode(mon_inst, blist);
+    ::encode(last_changed, blist);
   }  
   void decode(bufferlist& blist) {
     bufferlist::iterator p = blist.begin();
@@ -100,6 +103,7 @@ class MonMap {
     ::decode_raw(fsid, p);
     ::decode(epoch, p);
     ::decode(mon_inst, p);
+    ::decode(last_changed, p);
   }
 
 
index a231ce080771cce7f0ee6e390415ef8afe2e6fd4..0c7d0caca96a6701d9bffb3151bb13d17b8720b6 100644 (file)
@@ -64,6 +64,7 @@ void MonmapMonitor::create_pending()
 {
   pending_map = *mon->monmap;
   pending_map.epoch++;
+  pending_map.last_changed = g_clock.now();
   dout(10) << "create_pending monmap epoch " << pending_map.epoch << dendl;
 }
 
@@ -84,6 +85,7 @@ bool MonmapMonitor::prepare_update(PaxosServiceMessage *message)
 {
   MMonAdd *m = (MMonAdd *) message;
   pending_map.add(m->address);
+  pending_map.last_changed = g_clock.now();
   return true;
 }