This ensures we propagate this info back toward the root
after we've replayed and gone active.
dir->_mark_dirty(logseg);
dir->get_inode()->filelock.mark_dirty();
dir->get_inode()->nestlock.mark_dirty();
+
+ if (!(dir->fnode.rstat == dir->fnode.accounted_rstat) ||
+ !(dir->fnode.fragstat == dir->fnode.accounted_fragstat)) {
+ dout(10) << "EMetaBlob.replay dirty nestinfo on " << *dir << dendl;
+ mds->locker->mark_updated_scatterlock(&dir->inode->nestlock);
+ logseg->dirty_dirfrag_nest.push_back(&dir->inode->xlist_dirty_dirfrag_nest);
+ } else {
+ dout(10) << "EMetaBlob.replay clean nestinfo on " << *dir << dendl;
+ }
}
if (lump.is_new())
dir->mark_new(logseg);