if (p == snaps.end() ||
*p > dn->last) {
dout(10) << " purging " << *dn << dendl;
+ if (dn->is_primary() && dn->inode->is_dirty())
+ dn->inode->mark_clean();
remove_dentry(dn);
}
}
set<snapid_t>::const_iterator p = snaps->lower_bound(dn->first);
if (p == snaps->end() || *p > dn->last) {
dout(10) << " purging " << *dn << dendl;
+ if (dn->is_primary() && dn->inode->is_dirty())
+ dn->inode->mark_clean();
remove_dentry(dn);
continue;
}