journal_dirty_inode(mut, &le->metablob, in);
mds->mdlog->submit_entry(le, new C_MDC_TruncateLogged(this, in, mut));
+
+ // flush immediately if there are readers/writers waiting
+ if (in->get_caps_wanted() & (CEPH_CAP_FILE_RD|CEPH_CAP_FILE_WR))
+ mds->mdlog->flush();
}
void MDCache::truncate_inode_logged(CInode *in, Mutation *mut)
mdcache->journal_dirty_inode(mdr, &le->metablob, cur);
journal_and_reply(mdr, cur, 0, le, new C_MDS_truncate_logged(mds, mdr, cur, smaller));
+
+ // flush immediately if there are readers/writers waiting
+ if (cur->get_caps_wanted() & (CEPH_CAP_FILE_RD|CEPH_CAP_FILE_WR))
+ mds->mdlog->flush();
}