LogSegmentRef ls;
uint32_t block_size;
C_IO_MDC_TruncateWriteFinish(MDCache *c, CInode *i, LogSegmentRef const& l, uint32_t bs) :
- MDCacheIOContext(c, false), in(i), ls(l), block_size(bs) {
+ MDCacheIOContext(c), in(i), ls(l), block_size(bs) {
}
void finish(int r) override {
ceph_assert(r == 0 || r == -ENOENT);
CInode *in;
LogSegmentRef ls;
C_IO_MDC_TruncateFinish(MDCache *c, CInode *i, LogSegmentRef const& l) :
- MDCacheIOContext(c, false), in(i), ls(l) {
+ MDCacheIOContext(c), in(i), ls(l) {
}
void finish(int r) override {
ceph_assert(r == 0 || r == -ENOENT);
* it'ls the lesser of two evils compared with introducing
* yet another piece of (multiple) inheritance.
*/
-class MDCacheIOContext : public virtual MDSIOContextBase {
+class MDCacheIOContext : public MDSIOContextBase {
protected:
MDCache *mdcache;
MDSRank *get_mds() override