static const int PIN_FROZEN = 4;
static const int PIN_SUBTREE = 5;
static const int PIN_IMPORTING = 7;
- static const int PIN_EXPORTING = 8;
static const int PIN_IMPORTBOUND = 9;
static const int PIN_EXPORTBOUND = 10;
static const int PIN_STICKY = 11;
case PIN_CHILD: return "child";
case PIN_FROZEN: return "frozen";
case PIN_SUBTREE: return "subtree";
- case PIN_EXPORTING: return "exporting";
case PIN_IMPORTING: return "importing";
case PIN_IMPORTBOUND: return "importbound";
case PIN_EXPORTBOUND: return "exportbound";
dir->auth_unpin();
export_state.erase(dir); // clean up
dir->state_clear(CDir::STATE_EXPORTING);
- dir->put(CDir::PIN_EXPORTING);
if (export_peer[dir] != who) // tell them.
mds->send_message_mds(new MExportDirCancel(dir->dirfrag()), export_peer[dir], MDS_PORT_MIGRATOR);
break;
dir->unfreeze_tree(); // cancel the freeze
export_state.erase(dir); // clean up
dir->state_clear(CDir::STATE_EXPORTING);
- dir->put(CDir::PIN_EXPORTING);
if (export_peer[dir] != who) // tell them.
mds->send_message_mds(new MExportDirCancel(dir->dirfrag()), export_peer[dir], MDS_PORT_MIGRATOR);
break;
cache->try_subtree_merge(dir);
export_state.erase(dir); // clean up
dir->state_clear(CDir::STATE_EXPORTING);
- dir->put(CDir::PIN_EXPORTING);
break;
case EXPORT_EXPORTING:
export_reverse(dir);
export_state.erase(dir); // clean up
dir->state_clear(CDir::STATE_EXPORTING);
- dir->put(CDir::PIN_EXPORTING);
break;
case EXPORT_LOGGINGFINISH:
export_peer[dir] = dest;
dir->state_set(CDir::STATE_EXPORTING);
- dir->get(CDir::PIN_EXPORTING);
// send ExportDirDiscover (ask target)
mds->send_message_mds(new MExportDirDiscover(dir), dest, MDS_PORT_MIGRATOR);
// remove from exporting list, clean up state
dir->state_clear(CDir::STATE_EXPORTING);
- dir->put(CDir::PIN_EXPORTING);
export_state.erase(dir);
export_peer.erase(dir);
export_notify_ack_waiting.erase(dir);