From: Samuel Just Date: Tue, 26 Apr 2016 01:48:24 +0000 (-0700) Subject: OSD::do_recovery: unlock and relock around do_recovery sleep X-Git-Tag: v11.0.0~465^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a3b3a9018dfcf12326ef117cd6882470d2f5f7f4;p=ceph.git OSD::do_recovery: unlock and relock around do_recovery sleep Signed-off-by: Samuel Just --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 7d057509e7ae..32e4f44e6c0b 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -8392,11 +8392,13 @@ void OSD::do_recovery( uint64_t started = 0; if (g_conf->osd_recovery_sleep > 0) { handle.suspend_tp_timeout(); + pg->unlock(); utime_t t; t.set_from_double(g_conf->osd_recovery_sleep); t.sleep(); - handle.reset_tp_timeout(); dout(20) << __func__ << " slept for " << t << dendl; + pg->lock(); + handle.reset_tp_timeout(); } {