]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osdmap: use shared_ptr for addrs, addr vectors
authorSage Weil <sage@newdream.net>
Wed, 25 Apr 2012 22:10:34 +0000 (15:10 -0700)
committerSage Weil <sage@newdream.net>
Thu, 26 Apr 2012 23:55:56 +0000 (16:55 -0700)
commit313c1566d3b649ef81fcdc722678d77dccfa888f
treedbd60c85f093e2fc64a084cfc828af5ba45c58b7
parent06af38accf9304126966b879cf351e182a05e131
osdmap: use shared_ptr for addrs, addr vectors

We share a lot of identical addresses between map versions because they
don't tend to change very often.  Instead of having a separate copy for
every map, use shared_ptr and share references.  Also use a reference for
the entire addr vector(s) in case no addrs differ at all.

Create new encode/decode macros for vector< shared_ptr<T> >.

Signed-off-by: Sage Weil <sage@newdream.net>
src/include/encoding.h
src/osd/OSDMap.cc
src/osd/OSDMap.h