From: Sage Weil Date: Thu, 11 Sep 2014 05:51:20 +0000 (-0700) Subject: mds: sleep in progress thread if laggy and waiting_for_nolaggy waiters X-Git-Tag: v0.86~92^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7281638d4a9a54cb4f979918e688c9fc9961a4c8;p=ceph.git mds: sleep in progress thread if laggy and waiting_for_nolaggy waiters If we have nolaggy waiters but are laggy we want to sleep. Otherwise, we will just spin and spam the log ... Signed-off-by: Sage Weil --- diff --git a/src/mds/MDS.cc b/src/mds/MDS.cc index 1247c5771a82b..d797b3df2ae57 100644 --- a/src/mds/MDS.cc +++ b/src/mds/MDS.cc @@ -2390,7 +2390,9 @@ void *MDS::ProgressThread::entry() { Mutex::Locker l(mds->mds_lock); while (true) { - while (!stopping && (mds->finished_queue.empty() && mds->waiting_for_nolaggy.empty())) { + while (!stopping && + mds->finished_queue.empty() && + (mds->waiting_for_nolaggy.empty() || mds->beacon.is_laggy())) { cond.Wait(mds->mds_lock); }