]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
PG: don't write out pg map epoch every handle_activate_map
authorSamuel Just <sam.just@inktank.com>
Mon, 15 Apr 2013 23:33:48 +0000 (16:33 -0700)
committerSamuel Just <sam.just@inktank.com>
Fri, 31 May 2013 17:39:10 +0000 (10:39 -0700)
commitdb85c52d4cff8f541e2cdd30e7a28cadf4bf516f
treef406ff316a7d5f40441259b593e9f4f6f4928418
parentfbf5a242d91e293e4e24fbb94e31e163374c7912
PG: don't write out pg map epoch every handle_activate_map

We don't actually need to write out the pg map epoch on every
activate_map as long as:
a) the osd does not trim past the oldest pg map persisted
b) the pg does update the persisted map epoch from time
to time.

To that end, we now keep a reference to the last map persisted.
The OSD already does not trim past the oldest live OSDMapRef.
Second, handle_activate_map will trim if the difference between
the current map and the last_persisted_map is large enough.

Fixes: #4731
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 2c5a9f0e178843e7ed514708bab137def840ab89)

Conflicts:

src/common/config_opts.h
src/osd/PG.cc
- last_persisted_osdmap_ref gets set in the non-static
  PG::write_info

Conflicts:

src/osd/PG.cc
src/common/config_opts.h
src/osd/PG.cc
src/osd/PG.h