on_ready->complete(0);
}
+template <typename I>
+void Replay<I>::handle_event(const journal::DemoteEvent &event,
+ Context *on_ready, Context *on_safe) {
+ CephContext *cct = m_image_ctx.cct;
+ ldout(cct, 20) << this << " " << __func__ << ": Demote event" << dendl;
+ on_ready->complete(0);
+ on_safe->complete(0);
+}
+
template <typename I>
void Replay<I>::handle_event(const journal::UnknownEvent &event,
Context *on_ready, Context *on_safe) {
Context *on_safe);
void handle_event(const FlattenEvent &event, Context *on_ready,
Context *on_safe);
+ void handle_event(const DemoteEvent &event, Context *on_ready,
+ Context *on_safe);
void handle_event(const UnknownEvent &event, Context *on_ready,
Context *on_safe);
f->dump_unsigned("size", size);
}
+void DemoteEvent::encode(bufferlist& bl) const {
+}
+
+void DemoteEvent::decode(__u8 version, bufferlist::iterator& it) {
+}
+
+void DemoteEvent::dump(Formatter *f) const {
+}
+
void UnknownEvent::encode(bufferlist& bl) const {
assert(false);
}
case EVENT_TYPE_FLATTEN:
event = FlattenEvent();
break;
+ case EVENT_TYPE_DEMOTE:
+ event = DemoteEvent();
+ break;
default:
event = UnknownEvent();
break;
o.push_back(new EventEntry(ResizeEvent(901, 1234)));
o.push_back(new EventEntry(FlattenEvent(123)));
+
+ o.push_back(new EventEntry(DemoteEvent()));
}
// Journal Client
case EVENT_TYPE_FLATTEN:
out << "Flatten";
break;
+ case EVENT_TYPE_DEMOTE:
+ out << "Demote";
+ break;
default:
out << "Unknown (" << static_cast<uint32_t>(type) << ")";
break;
EVENT_TYPE_SNAP_ROLLBACK = 9,
EVENT_TYPE_RENAME = 10,
EVENT_TYPE_RESIZE = 11,
- EVENT_TYPE_FLATTEN = 12
+ EVENT_TYPE_FLATTEN = 12,
+ EVENT_TYPE_DEMOTE = 13
};
struct AioDiscardEvent {
using OpEventBase::dump;
};
+struct DemoteEvent {
+ static const EventType TYPE = static_cast<EventType>(EVENT_TYPE_DEMOTE);
+
+ void encode(bufferlist& bl) const;
+ void decode(__u8 version, bufferlist::iterator& it);
+ void dump(Formatter *f) const;
+};
+
struct UnknownEvent {
static const EventType TYPE = static_cast<EventType>(-1);
RenameEvent,
ResizeEvent,
FlattenEvent,
+ DemoteEvent,
UnknownEvent> Event;
struct EventEntry {