ceph_assert(dest != mds->get_nodeid());
CDir* parent = dir->inode->get_projected_parent_dir();
- if (!mds->is_stopping() && !dir->inode->is_exportable(dest)) {
+ if (!mds->is_stopping() && !dir->inode->is_exportable(dest) && dir->get_num_head_items() > 0) {
dout(7) << "Cannot export to mds." << dest << " " << *dir << ": dir is export pinned" << dendl;
return;
} else if (!(mds->is_active() || mds->is_stopping())) {
}
}
-
void Migrator::decode_import_inode(CDentry *dn, bufferlist::const_iterator& blp,
mds_rank_t oldauth, LogSegment *ls,
map<CInode*, map<client_t,Capability::Export> >& peer_exports,
dir->verify_fragstat();
#endif
+ dir->inode->maybe_ephemeral_dist();
dir->inode->maybe_export_pin();
dout(7) << " done " << *dir << dendl;