]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: the assert should be before the journal entry submit otherwise it's racy
authorZhansong Gao <zhsgao@hotmail.com>
Fri, 16 Jun 2023 04:30:40 +0000 (12:30 +0800)
committerZhansong Gao <zhsgao@hotmail.com>
Wed, 13 Nov 2024 08:34:36 +0000 (16:34 +0800)
Signed-off-by: Zhansong Gao <zhsgao@hotmail.com>
src/mds/Migrator.cc

index 722b6bd742262289f61dc2fae7e16ee4f208ab04..99991f50aa7033e6ca940a7a82a37e7e665092df 100644 (file)
@@ -1957,10 +1957,10 @@ void Migrator::handle_export_ack(const cref_t<MExportDirAck> &m)
   // this keeps authority().first in sync with subtree auth state in the journal.
   mdcache->adjust_subtree_auth(dir, it->second.peer, mds->get_nodeid());
 
+  ceph_assert(g_conf()->mds_kill_export_at != 10);
   // log export completion, then finish (unfreeze, trigger finish context, etc.)
   mds->mdlog->submit_entry(le, new C_MDS_ExportFinishLogged(this, dir));
   mds->mdlog->flush();
-  ceph_assert(g_conf()->mds_kill_export_at != 10);
 }
 
 void Migrator::export_notify_abort(CDir *dir, export_state_t& stat, set<CDir*>& bounds)