If base inode is reached, try clearing the 'maybe' list, then stop.
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
dout(20) << "EMetaBlob::add_dir_context(" << dir << ") have lump " << dir->dirfrag() << dendl;
break;
}
-
+
// stop at root/stray
CInode *diri = dir->get_inode();
CDentry *parent = diri->get_projected_parent_dn();
- if (!parent)
- break;
-
if (mode == TO_AUTH_SUBTREE_ROOT) {
// subtree root?
if (dir->is_subtree_root() && !dir->state_test(CDir::STATE_EXPORTBOUND)) {
}
}
+ if (!parent)
+ break;
+
if (maybenot) {
dout(25) << "EMetaBlob::add_dir_context(" << dir << ") maybe " << *parent << dendl;
maybe.push_front(parent);