From 7ac0fb2dba7ce2fd06e66bc6e09fd3010bb27368 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 11 Aug 2008 11:42:41 -0700 Subject: [PATCH] osd: ignore log if pg is active --- src/osd/OSD.cc | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index e670538b2518..1466a716ba2a 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -2484,13 +2484,17 @@ void OSD::_process_pg_info(epoch_t epoch, int from, assert(pg->peer_log_requested.count(from) || pg->peer_summary_requested.count(from)); - pg->proc_replica_log(log, missing, from); - - // peer - map< int, map > query_map; - pg->peer(t, query_map, info_map); - pg->update_stats(); - do_queries(query_map); + if (!pg->is_active()) { + pg->proc_replica_log(log, missing, from); + + // peer + map< int, map > query_map; + pg->peer(t, query_map, info_map); + pg->update_stats(); + do_queries(query_map); + } else { + dout(10) << *pg << " ignoring osd" << from << " log, pg is already active" << dendl; + } } else { if (!pg->info.dne()) { -- 2.47.3