From: Sage Weil Date: Wed, 14 Sep 2016 17:32:20 +0000 (-0400) Subject: include/object: conditional denc_traits for snapid_t X-Git-Tag: v11.1.0~617^2~16 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c9c5235ef7d563b92f44dab63a8ac2b694e69d4f;p=ceph.git include/object: conditional denc_traits for snapid_t Signed-off-by: Sage Weil --- diff --git a/src/include/object.h b/src/include/object.h index 74a011b961a2..4532b789c377 100644 --- a/src/include/object.h +++ b/src/include/object.h @@ -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 { + 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";