if (lock->is_dirty() && !lock->is_flushed()) {
scatter_writebehind(static_cast<ScatterLock *>(lock));
- mds->mdlog->flush();
return;
}
lock->clear_flushed();
if (!gather && lock->is_dirty()) {
lock->get_parent()->auth_pin(lock);
scatter_writebehind(static_cast<ScatterLock*>(lock));
- mds->mdlog->flush();
return false;
}
if (!gather && lock->is_dirty()) {
lock->get_parent()->auth_pin(lock);
scatter_writebehind(static_cast<ScatterLock*>(lock));
- mds->mdlog->flush();
return;
}
in->finish_scatter_gather_update_accounted(lock->get_type(), &le->metablob);
mds->mdlog->submit_entry(le, new C_Locker_ScatterWB(this, lock, mut));
+ mds->mdlog->flush();
}
void Locker::scatter_writebehind_finish(ScatterLock *lock, MutationRef& mut)