From: xie xingguo Date: Tue, 2 Feb 2016 06:58:59 +0000 (+0800) Subject: osdc/objecter: fix race condition X-Git-Tag: v10.0.4~63^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a3360b55028c24162c75441a6eb86e13686804be;p=ceph.git osdc/objecter: fix race condition Fixes: #14603 Signed-off-by: xie xingguo --- diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index 9bfbb06550af..8fd5c38a3aeb 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -2591,6 +2591,7 @@ void Objecter::update_pool_full_map(map& pool_full_map) int64_t Objecter::get_object_hash_position(int64_t pool, const string& key, const string& ns) { + RWLock::RLocker rl(rwlock); const pg_pool_t *p = osdmap->get_pg_pool(pool); if (!p) return -ENOENT; @@ -2600,6 +2601,7 @@ int64_t Objecter::get_object_hash_position(int64_t pool, const string& key, int64_t Objecter::get_object_pg_hash_position(int64_t pool, const string& key, const string& ns) { + RWLock::RLocker rl(rwlock); const pg_pool_t *p = osdmap->get_pg_pool(pool); if (!p) return -ENOENT;