From: Sage Weil Date: Thu, 31 Dec 2015 22:24:44 +0000 (-0500) Subject: mds: make inode_t, old_inode_t featureful X-Git-Tag: v10.1.0~241^2~17 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2752eeefc3eb335cc0d645f5ff6f4af694618c90;p=ceph.git mds: make inode_t, old_inode_t featureful Signed-off-by: Sage Weil --- diff --git a/src/mds/CInode.cc b/src/mds/CInode.cc index 554fd00f64e1..c9fe8ee3645a 100644 --- a/src/mds/CInode.cc +++ b/src/mds/CInode.cc @@ -1297,7 +1297,7 @@ void CInode::verify_diri_backtrace(bufferlist &bl, int err) void InodeStoreBase::encode_bare(bufferlist &bl, uint64_t features, const bufferlist *snap_blob) const { - ::encode(inode, bl); + ::encode(inode, bl, features); if (is_symlink()) ::encode(symlink, bl); ::encode(dirfragtree, bl); @@ -1306,7 +1306,7 @@ void InodeStoreBase::encode_bare(bufferlist &bl, uint64_t features, ::encode(*snap_blob, bl); else ::encode(bufferlist(), bl); - ::encode(old_inodes, bl); + ::encode(old_inodes, bl, features); ::encode(oldest_snap, bl); ::encode(damage_flags, bl); } @@ -3391,11 +3391,11 @@ void CInode::encode_cap_message(MClientCaps *m, Capability *cap) void CInode::_encode_base(bufferlist& bl, uint64_t features) { ::encode(first, bl); - ::encode(inode, bl); + ::encode(inode, bl, features); ::encode(symlink, bl); ::encode(dirfragtree, bl); ::encode(xattrs, bl); - ::encode(old_inodes, bl); + ::encode(old_inodes, bl, features); ::encode(damage_flags, bl); encode_snap(bl); } diff --git a/src/mds/journal.cc b/src/mds/journal.cc index 55a4a89d121d..bcc79dc356c9 100644 --- a/src/mds/journal.cc +++ b/src/mds/journal.cc @@ -406,7 +406,7 @@ void EMetaBlob::fullbit::encode(bufferlist& bl, uint64_t features) const { ::encode(dnfirst, bl); ::encode(dnlast, bl); ::encode(dnv, bl); - ::encode(inode, bl); + ::encode(inode, bl, features); ::encode(xattrs, bl); if (inode.is_symlink()) ::encode(symlink, bl); diff --git a/src/mds/mdstypes.cc b/src/mds/mdstypes.cc index 20ce63a001b4..63c95eb0457d 100644 --- a/src/mds/mdstypes.cc +++ b/src/mds/mdstypes.cc @@ -236,7 +236,7 @@ void inline_data_t::decode(bufferlist::iterator &p) /* * inode_t */ -void inode_t::encode(bufferlist &bl) const +void inode_t::encode(bufferlist &bl, uint64_t features) const { ENCODE_START(13, 6, bl); @@ -502,11 +502,11 @@ bool inode_t::older_is_consistent(const inode_t &other) const /* * old_inode_t */ -void old_inode_t::encode(bufferlist& bl) const +void old_inode_t::encode(bufferlist& bl, uint64_t features) const { ENCODE_START(2, 2, bl); ::encode(first, bl); - ::encode(inode, bl); + ::encode(inode, bl, features); ::encode(xattrs, bl); ENCODE_FINISH(bl); } diff --git a/src/mds/mdstypes.h b/src/mds/mdstypes.h index 5ac957a38b21..173995d111f4 100644 --- a/src/mds/mdstypes.h +++ b/src/mds/mdstypes.h @@ -566,7 +566,7 @@ struct inode_t { old_pools.insert(l); } - void encode(bufferlist &bl) const; + void encode(bufferlist &bl, uint64_t features) const; void decode(bufferlist::iterator& bl); void dump(Formatter *f) const; static void generate_test_instances(list& ls); @@ -586,7 +586,7 @@ struct inode_t { private: bool older_is_consistent(const inode_t &other) const; }; -WRITE_CLASS_ENCODER(inode_t) +WRITE_CLASS_ENCODER_FEATURES(inode_t) /* @@ -597,12 +597,12 @@ struct old_inode_t { inode_t inode; std::map xattrs; - void encode(bufferlist &bl) const; + void encode(bufferlist &bl, uint64_t features) const; void decode(bufferlist::iterator& bl); void dump(Formatter *f) const; static void generate_test_instances(list& ls); }; -WRITE_CLASS_ENCODER(old_inode_t) +WRITE_CLASS_ENCODER_FEATURES(old_inode_t) /* diff --git a/src/test/encoding/types.h b/src/test/encoding/types.h index ed37b976a4b1..fe68384033bb 100644 --- a/src/test/encoding/types.h +++ b/src/test/encoding/types.h @@ -166,8 +166,8 @@ TYPE(sr_t) TYPE(frag_info_t) TYPE(nest_info_t) TYPE(client_writeable_range_t) -TYPE(inode_t) -TYPE(old_inode_t) +TYPE_FEATUREFUL(inode_t) +TYPE_FEATUREFUL(old_inode_t) TYPE(fnode_t) TYPE(old_rstat_t) TYPE(session_info_t)