From: Greg Farnum Date: Thu, 3 Dec 2009 01:37:34 +0000 (-0800) Subject: mds: Add mds_kill_export_at asserts. X-Git-Tag: v0.18~12 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=00dbe2bfd93226d4e36585bcd6a319ff36fd9ce1;p=ceph.git mds: Add mds_kill_export_at asserts. Create and begin documenting doc/killpoints.txt --- diff --git a/src/doc/killpoints.txt b/src/doc/killpoints.txt new file mode 100644 index 00000000000..1d83295774b --- /dev/null +++ b/src/doc/killpoints.txt @@ -0,0 +1,9 @@ +Kill arguments in code: +mds_kill_mdstable_at +mds_kill_export_at +mds_kill_import_at + +mds_kill_export_at: +1: After moving to STATE_EXPORTING +2: After sending MExportDirDiscover +3: After recieving MExportDirDiscoverAck and auth_unpin'ing. \ No newline at end of file diff --git a/src/mds/Migrator.cc b/src/mds/Migrator.cc index 6ed4d1f868b..62fa0545ce7 100644 --- a/src/mds/Migrator.cc +++ b/src/mds/Migrator.cc @@ -598,11 +598,13 @@ void Migrator::export_dir(CDir *dir, int dest) export_peer[dir] = dest; dir->state_set(CDir::STATE_EXPORTING); + assert(mds_kill_export_at != 1); // send ExportDirDiscover (ask target) filepath path; dir->inode->make_path(path); mds->send_message_mds(new MExportDirDiscover(path, dir->dirfrag()), dest); + assert(mds_kill_export_at != 2); // start the freeze, but hold it up with an auth_pin. dir->auth_pin(this); @@ -632,6 +634,7 @@ void Migrator::handle_export_discover_ack(MExportDirDiscoverAck *m) // freeze the subtree export_state[dir] = EXPORT_FREEZING; dir->auth_unpin(this); + assert(mds_kill_export_at != 3); } delete m; // done