]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: only write head once after expiring logsegments
authorSage Weil <sage@newdream.net>
Mon, 25 Apr 2011 18:31:24 +0000 (11:31 -0700)
committerSage Weil <sage@newdream.net>
Mon, 25 Apr 2011 21:14:41 +0000 (14:14 -0700)
Signed-off-by: Sage Weil <sage@newdream.net>
src/mds/MDLog.cc

index 9ebe9368e65918f2d22602e3f960b9baa516e9f4..fea18035b32277097b41c5d416bdac936cdddf9b 100644 (file)
@@ -395,7 +395,6 @@ void MDLog::_expired(LogSegment *ls)
       num_events -= ls->num_events;
       
       journaler->set_expire_pos(ls->offset);  // this was the oldest segment, adjust expire pos
-      journaler->write_head(0);
       
       logger->set(l_mdl_expos, ls->offset);
       logger->inc(l_mdl_segtrm);
@@ -404,6 +403,8 @@ void MDLog::_expired(LogSegment *ls)
       segments.erase(ls->offset);
       delete ls;
     }
+
+    journaler->write_head(0);
   }
 
   logger->set(l_mdl_ev, num_events);