]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
include/object: conditional denc_traits for snapid_t
authorSage Weil <sage@redhat.com>
Wed, 14 Sep 2016 17:32:20 +0000 (13:32 -0400)
committerSage Weil <sage@redhat.com>
Sun, 16 Oct 2016 14:32:50 +0000 (10:32 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/include/object.h

index 74a011b961a27ad625ee2e7fbfa4dd73a0b27489..4532b789c377773bab7786b4c910f0e9849d41b6 100644 (file)
@@ -122,6 +122,22 @@ struct snapid_t {
 inline void encode(snapid_t i, bufferlist &bl) { encode(i.val, bl); }
 inline void decode(snapid_t &i, bufferlist::iterator &p) { decode(i.val, p); }
 
+template<>
+struct denc_traits<snapid_t> {
+  enum { supported = 2 };
+  enum { featured = false };
+  enum { bounded = true };
+  static void bound_encode(const snapid_t o, size_t& p) {
+    denc(o.val, p);
+  }
+  static void encode(const snapid_t &o, buffer::list::contiguous_appender& p) {
+    denc(o.val, p);
+  }
+  static void decode(snapid_t& o, buffer::ptr::iterator &p) {
+    denc(o.val, p);
+  }
+};
+
 inline ostream& operator<<(ostream& out, snapid_t s) {
   if (s == CEPH_NOSNAP)
     return out << "head";