]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: make inode_t, old_inode_t featureful
authorSage Weil <sage@redhat.com>
Thu, 31 Dec 2015 22:24:44 +0000 (17:24 -0500)
committerSage Weil <sage@redhat.com>
Tue, 1 Mar 2016 16:17:41 +0000 (11:17 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/mds/CInode.cc
src/mds/journal.cc
src/mds/mdstypes.cc
src/mds/mdstypes.h
src/test/encoding/types.h

index 554fd00f64e183167e31ab33b92ee5cd2c3fe627..c9fe8ee3645a4d607e36c879154cff876ee9755a 100644 (file)
@@ -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);
 }
index 55a4a89d121d1c10b09d196afc86f7e5660d6d46..bcc79dc356c9747e1752d394c981f4b837fce223 100644 (file)
@@ -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);
index 20ce63a001b4d526009cf74e8a3a22e5f359f4c6..63c95eb0457d08024a7e30775a5a6b175868720d 100644 (file)
@@ -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);
 }
index 5ac957a38b210820ed824c9870a6c7bb161be1c5..173995d111f4755f1d2141aa47e1b9e687ca90ad 100644 (file)
@@ -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<inode_t*>& 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<string,bufferptr> 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<old_inode_t*>& ls);
 };
-WRITE_CLASS_ENCODER(old_inode_t)
+WRITE_CLASS_ENCODER_FEATURES(old_inode_t)
 
 
 /*
index ed37b976a4b10f23333f0dedb393a747a4ad8046..fe68384033bb329758cc9178e055da14a19e7e06 100644 (file)
@@ -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)