From f2e6b8d7501f5f7cbae024b399a7938f7509d796 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Fri, 16 Mar 2012 10:01:03 -0700 Subject: [PATCH] ReplicatedPG: populate_object_context during handle_pull_response A cached objectcontext should always have its watchers populated. Signed-off-by: Samuel Just --- src/osd/ReplicatedPG.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index bee16773911a1..f97947809164d 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -4801,6 +4801,7 @@ void ReplicatedPG::handle_pull_response(OpRequest *op) obc->ondisk_write_lock(); obc->obs.exists = true; obc->obs.oi = pi.recovery_info.oi; + populate_obc_watchers(obc); if (hoid.snap == CEPH_NOSNAP || hoid.snap == CEPH_SNAPDIR) { obc->ssc->snapset = pi.recovery_info.ss; @@ -5164,8 +5165,6 @@ void ReplicatedPG::_applied_recovered_object(ObjectStore::Transaction *t, Object { lock(); dout(10) << "_applied_recovered_object " << *obc << dendl; - if (is_primary()) - populate_obc_watchers(obc); put_object_context(obc); unlock(); delete t; -- 2.39.5