We used to skip base inodes for scatter_writebehind. But we can
journal these just like anything else, and it potentially breaks
try_to_expire if a base inode's lock is dirty, because the
completion queued on WAIT_STABLE by scatter_nudge never gets
completed.
CInode *in = (CInode*)lock->get_parent();
dout(10) << "scatter_writebehind " << in->inode.mtime << " on " << *lock << " on " << *in << dendl;
- // hack:
- if (in->is_base()) {
- dout(10) << "scatter_writebehind just clearing updated flag for base inode " << *in << dendl;
- lock->clear_dirty();
- if (!lock->is_stable())
- eval_gather(lock);
- return;
- }
-
// journal
Mutation *mut = new Mutation;
mut->ls = mds->mdlog->get_current_segment();