From: David Zafman Date: Tue, 7 Jul 2015 01:14:06 +0000 (-0700) Subject: osd, tools: Always filter temp objects since not being exported X-Git-Tag: v9.0.3~52^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=557c6530a515cffacbaec439cabff8a079edbf5b;p=ceph.git osd, tools: Always filter temp objects since not being exported Can't use object_locator_to_pg() directly with a temp object because the pool is negative. Signed-off-by: David Zafman --- diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc index 6224838cca3e..f91ba63d64ac 100644 --- a/src/osd/osd_types.cc +++ b/src/osd/osd_types.cc @@ -3125,6 +3125,12 @@ void pg_log_t::filter_log(spg_t import_pgid, const OSDMap &curmap, for (list::const_iterator i = in.log.begin(); i != in.log.end(); ++i) { + // Reject pg log entries for temporary objects + if (i->soid.is_temp()) { + reject.log.push_back(*i); + continue; + } + if (i->soid.nspace != hit_set_namespace) { object_t oid = i->soid.oid; object_locator_t loc(i->soid); diff --git a/src/tools/ceph_objectstore_tool.cc b/src/tools/ceph_objectstore_tool.cc index 67cce7fa908a..39d720c06571 100644 --- a/src/tools/ceph_objectstore_tool.cc +++ b/src/tools/ceph_objectstore_tool.cc @@ -1102,6 +1102,12 @@ void filter_divergent_priors(spg_t import_pgid, const OSDMap &curmap, for (divergent_priors_t::const_iterator i = in.begin(); i != in.end(); ++i) { + // Reject divergent priors for temporary objects + if (i->second.is_temp()) { + reject.insert(*i); + continue; + } + if (i->second.nspace != hit_set_namespace) { object_t oid = i->second.oid; object_locator_t loc(i->second);