From: Sage Weil Date: Mon, 16 May 2016 14:18:27 +0000 (-0400) Subject: mds: encode session_info_t with features X-Git-Tag: v11.0.0~270^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=133e98484f12a06b0d78f37388a2368287b606f2;p=ceph.git mds: encode session_info_t with features Signed-off-by: Sage Weil --- diff --git a/src/mds/SessionMap.cc b/src/mds/SessionMap.cc index 1e858e36d406..eac0c5f4dd7c 100644 --- a/src/mds/SessionMap.cc +++ b/src/mds/SessionMap.cc @@ -372,7 +372,7 @@ void SessionMap::save(MDSInternalContextBase *onsave, version_t needv) // Serialize V bufferlist bl; - session->info.encode(bl); + session->info.encode(bl, mds->mdsmap->get_up_features()); // Add to RADOS op to_set[k.str()] = bl; @@ -710,7 +710,7 @@ void SessionMap::save_if_dirty(const std::set &tgt_sessions, // Serialize V bufferlist bl; - session->info.encode(bl); + session->info.encode(bl, mds->mdsmap->get_up_features()); // Add to RADOS op to_set[k.str()] = bl; diff --git a/src/mds/mdstypes.cc b/src/mds/mdstypes.cc index 066b26b3536f..5e6190e954d8 100644 --- a/src/mds/mdstypes.cc +++ b/src/mds/mdstypes.cc @@ -669,10 +669,10 @@ void old_rstat_t::generate_test_instances(list& ls) /* * session_info_t */ -void session_info_t::encode(bufferlist& bl) const +void session_info_t::encode(bufferlist& bl, uint64_t features) const { ENCODE_START(6, 3, bl); - ::encode(inst, bl); + ::encode(inst, bl, features); ::encode(completed_requests, bl); ::encode(prealloc_inos, bl); // hacky, see below. ::encode(used_inos, bl); diff --git a/src/mds/mdstypes.h b/src/mds/mdstypes.h index 5eadd7ddc7f0..1bbe03a46a55 100644 --- a/src/mds/mdstypes.h +++ b/src/mds/mdstypes.h @@ -707,12 +707,12 @@ struct session_info_t { completed_flushes.clear(); } - void encode(bufferlist& bl) const; + void encode(bufferlist& bl, uint64_t features) const; void decode(bufferlist::iterator& p); void dump(Formatter *f) const; static void generate_test_instances(list& ls); }; -WRITE_CLASS_ENCODER(session_info_t) +WRITE_CLASS_ENCODER_FEATURES(session_info_t) // ======= diff --git a/src/test/encoding/types.h b/src/test/encoding/types.h index 9c7e70ee3d25..e867d3f7fd54 100644 --- a/src/test/encoding/types.h +++ b/src/test/encoding/types.h @@ -171,7 +171,7 @@ TYPE_FEATUREFUL(inode_t) TYPE_FEATUREFUL(old_inode_t) TYPE(fnode_t) TYPE(old_rstat_t) -TYPE(session_info_t) +TYPE_FEATUREFUL(session_info_t) TYPE(string_snap_t) TYPE(MDSCacheObjectInfo) TYPE(mds_table_pending_t)