#include "include/encoding.h"
#include "include/types.h"
#include "include/utime.h"
+#include "librbd/Types.h"
#include <iosfwd>
#include <list>
#include <boost/none.hpp>
struct AioDiscardEvent {
static const EventType TYPE = EVENT_TYPE_AIO_DISCARD;
- uint64_t offset;
- uint64_t length;
- bool skip_partial_discard;
+ uint64_t offset = 0;
+ uint64_t length = 0;
+ uint32_t discard_granularity_bytes = 0;
- AioDiscardEvent() : offset(0), length(0), skip_partial_discard(false) {
+ AioDiscardEvent() {
}
- AioDiscardEvent(uint64_t _offset, uint64_t _length, bool _skip_partial_discard)
- : offset(_offset), length(_length), skip_partial_discard(_skip_partial_discard) {
+ AioDiscardEvent(uint64_t _offset, uint64_t _length,
+ uint32_t discard_granularity_bytes)
+ : offset(_offset), length(_length),
+ discard_granularity_bytes(discard_granularity_bytes) {
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
static const EventType TYPE = EVENT_TYPE_AIO_FLUSH;
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
EVENT_TYPE_DEMOTE_PROMOTE);
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
static const EventType TYPE = static_cast<EventType>(-1);
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
EventType get_event_type() const;
void encode(bufferlist& bl) const;
- void decode(bufferlist::iterator& it);
+ void decode(bufferlist::const_iterator& it);
void dump(Formatter *f) const;
static void generate_test_instances(std::list<EventEntry *> &o);
static const uint32_t METADATA_FIXED_SIZE = 14; /// version encoding, timestamp
void encode_metadata(bufferlist& bl) const;
- void decode_metadata(bufferlist::iterator& it);
+ void decode_metadata(bufferlist::const_iterator& it);
};
// Journal Client data structures
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
struct MirrorPeerClientMeta {
typedef std::list<MirrorPeerSyncPoint> SyncPoints;
- typedef std::map<uint64_t, uint64_t> SnapSeqs;
static const ClientMetaType TYPE = MIRROR_PEER_CLIENT_META_TYPE;
}
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
static const ClientMetaType TYPE = CLI_CLIENT_META_TYPE;
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
static const ClientMetaType TYPE = static_cast<ClientMetaType>(-1);
void encode(bufferlist& bl) const;
- void decode(__u8 version, bufferlist::iterator& it);
+ void decode(__u8 version, bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
ClientMetaType get_client_meta_type() const;
void encode(bufferlist& bl) const;
- void decode(bufferlist::iterator& it);
+ void decode(bufferlist::const_iterator& it);
void dump(Formatter *f) const;
static void generate_test_instances(std::list<ClientData *> &o);
}
void encode(bufferlist& bl) const;
- void decode(bufferlist::iterator& it);
+ void decode(bufferlist::const_iterator& it);
void dump(Formatter *f) const;
};
}
void encode(bufferlist& bl) const;
- void decode(bufferlist::iterator& it);
+ void decode(bufferlist::const_iterator& it);
void dump(Formatter *f) const;
static void generate_test_instances(std::list<TagData *> &o);
virtual void handle_resync() = 0;
};
+WRITE_CLASS_ENCODER(EventEntry);
+WRITE_CLASS_ENCODER(ClientData);
+WRITE_CLASS_ENCODER(TagData);
+
} // namespace journal
} // namespace librbd
-WRITE_CLASS_ENCODER(librbd::journal::EventEntry);
-WRITE_CLASS_ENCODER(librbd::journal::ClientData);
-WRITE_CLASS_ENCODER(librbd::journal::TagData);
-
#endif // CEPH_LIBRBD_JOURNAL_TYPES_H