virtual bool append_disabled() const = 0;
virtual void allocate_tag_on_lock(Context *on_finish) = 0;
- virtual void cancel_external_replay(Context *on_finish) = 0;
};
} // namespace journal
m_image_ctx->journal->allocate_local_tag(on_finish);
}
-void StandardPolicy::cancel_external_replay(Context *on_finish) {
- // external replay is only handled by rbd-mirror
- assert(false);
-}
-
} // namespace journal
} // namespace librbd
return false;
}
virtual void allocate_tag_on_lock(Context *on_finish);
- virtual void cancel_external_replay(Context *on_finish);
private:
ImageCtx *m_image_ctx;
MOCK_CONST_METHOD0(append_disabled, bool());
MOCK_METHOD1(allocate_tag_on_lock, void(Context*));
- MOCK_METHOD1(cancel_external_replay, void(Context*));
};
virtual void allocate_tag_on_lock(Context *on_finish) {
on_finish->complete(0);
}
-
- virtual void cancel_external_replay(Context *on_finish) {
- on_finish->complete(0);
- }
};
} // anonymous namespace
// rbd-mirror will manually create tags by copying them from the peer
work_queue->queue(on_finish, 0);
}
-
- virtual void cancel_external_replay(Context *on_finish) {
- // TODO: journal is being closed due to a comms error. This means
- // the journal is being closed and the exclusive lock is being released.
- // ImageReplayer needs to restart.
- }
-
};
} // anonymous namespace