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)) {
+ if (!(dir->fnode.rstat == dir->fnode.accounted_rstat)) {
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->item_dirty_dirfrag_nest);
} else {
dout(10) << "EMetaBlob.replay clean nestinfo on " << *dir << dendl;
}
+ if (!(dir->fnode.fragstat == dir->fnode.accounted_fragstat)) {
+ dout(10) << "EMetaBlob.replay dirty fragstat on " << *dir << dendl;
+ mds->locker->mark_updated_scatterlock(&dir->inode->filelock);
+ logseg->dirty_dirfrag_dir.push_back(&dir->inode->item_dirty_dirfrag_dir);
+ } else {
+ dout(10) << "EMetaBlob.replay clean fragstat on " << *dir << dendl;
+ }
}
if (lump.is_new())
dir->mark_new(logseg);