]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: submit_entry last
authorSage Weil <sage.weil@dreamhost.com>
Sun, 24 Jul 2011 21:22:12 +0000 (14:22 -0700)
committerSage Weil <sage.weil@dreamhost.com>
Sun, 24 Jul 2011 21:22:12 +0000 (14:22 -0700)
MDLog::submit_entry() may journal an ESubtreeMap as a side-effect, so make
sure we have updated our state correctly _before_ calling it.  The safest
is to just do it last.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
src/mds/Migrator.cc

index d25d77b702aa21cef5ae213b62017bef6c18b071..c2146c19759bc550706a342a685deca27a8543cb 100644 (file)
@@ -1912,15 +1912,15 @@ void Migrator::handle_export_dir(MExportDir *m)
 
   dout(7) << "handle_export_dir did " << *dir << dendl;
 
+  // note state
+  import_state[dir->dirfrag()] = IMPORT_LOGGINGSTART;
+  assert (g_conf->mds_kill_import_at != 6);
+
   // log it
   mds->mdlog->submit_entry(le);
   mds->mdlog->wait_for_safe(onlogged);
   mds->mdlog->flush();
 
-  // note state
-  import_state[dir->dirfrag()] = IMPORT_LOGGINGSTART;
-  assert (g_conf->mds_kill_import_at != 6);
-
   // some stats
   if (mds->logger) {
     mds->logger->inc(l_mds_im);