]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/librbd/journal/Types.h
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / librbd / journal / Types.h
index 085ec023f7ef761b3ad36b7cab7aae1c0f045149..ae5681ade0677b31f5c19bef9616ab9b63f5ca58 100644 (file)
@@ -10,6 +10,7 @@
 #include "include/encoding.h"
 #include "include/types.h"
 #include "include/utime.h"
+#include "librbd/Types.h"
 #include <iosfwd>
 #include <list>
 #include <boost/none.hpp>
@@ -50,18 +51,20 @@ enum EventType {
 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;
 };
 
@@ -81,7 +84,7 @@ struct AioWriteEvent {
   }
 
   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;
 };
 
@@ -100,7 +103,7 @@ struct AioWriteSameEvent {
   }
 
   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;
 };
 
@@ -122,7 +125,7 @@ struct AioCompareAndWriteEvent {
   }
 
   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;
 };
 
@@ -130,7 +133,7 @@ struct AioFlushEvent {
   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;
 };
 
@@ -144,7 +147,7 @@ protected:
   }
 
   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;
 };
 
@@ -159,7 +162,7 @@ struct OpFinishEvent : public OpEventBase {
   }
 
   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;
 };
 
@@ -178,7 +181,7 @@ protected:
   }
 
   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;
 };
 
@@ -193,7 +196,7 @@ struct SnapCreateEvent : public SnapEventBase {
   }
 
   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;
 };
 
@@ -231,7 +234,7 @@ struct SnapRenameEvent : public OpEventBase{
   }
 
   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;
 };
 
@@ -276,7 +279,7 @@ struct SnapLimitEvent : public OpEventBase {
   }
 
   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;
 };
 
@@ -307,7 +310,7 @@ struct RenameEvent : public OpEventBase {
   }
 
   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;
 };
 
@@ -323,7 +326,7 @@ struct ResizeEvent : public OpEventBase {
   }
 
   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;
 };
 
@@ -345,7 +348,7 @@ struct DemotePromoteEvent {
     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;
 };
 
@@ -362,7 +365,7 @@ struct UpdateFeaturesEvent : public OpEventBase {
   }
 
   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;
 };
 
@@ -379,7 +382,7 @@ struct MetadataSetEvent : public OpEventBase {
   }
 
   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;
 };
 
@@ -395,7 +398,7 @@ struct MetadataRemoveEvent : public OpEventBase {
   }
 
   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;
 };
 
@@ -403,7 +406,7 @@ struct UnknownEvent {
   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;
 };
 
@@ -447,7 +450,7 @@ struct EventEntry {
   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);
@@ -457,7 +460,7 @@ private:
   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
@@ -480,7 +483,7 @@ struct ImageClientMeta {
   }
 
   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;
 };
 
@@ -515,7 +518,7 @@ struct MirrorPeerSyncPoint {
   }
 
   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;
 };
 
@@ -526,7 +529,6 @@ enum MirrorPeerState {
 
 struct MirrorPeerClientMeta {
   typedef std::list<MirrorPeerSyncPoint> SyncPoints;
-  typedef std::map<uint64_t, uint64_t> SnapSeqs;
 
   static const ClientMetaType TYPE = MIRROR_PEER_CLIENT_META_TYPE;
 
@@ -553,7 +555,7 @@ struct MirrorPeerClientMeta {
   }
 
   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;
 };
 
@@ -561,7 +563,7 @@ struct CliClientMeta {
   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;
 };
 
@@ -569,7 +571,7 @@ struct UnknownClientMeta {
   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;
 };
 
@@ -589,7 +591,7 @@ struct ClientData {
   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);
@@ -619,7 +621,7 @@ struct TagPredecessor {
   }
 
   void encode(bufferlist& bl) const;
-  void decode(bufferlist::iterator& it);
+  void decode(bufferlist::const_iterator& it);
   void dump(Formatter *f) const;
 };
 
@@ -644,7 +646,7 @@ struct TagData {
   }
 
   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);
@@ -673,11 +675,11 @@ struct Listener {
   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