summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorXiaoxi Chen <xiaoxchen@ebay.com>2017-03-29 05:26:43 +0200
committerXiaoxi Chen <xiaoxchen@ebay.com>2017-04-26 08:50:40 +0200
commit68f4ee62cabeac16ad3e3df0e49638709ff6bdc7 (patch)
tree0fa6fbc9411f208542fd944c49e39b3cf42eb2b4 /src
parentMerge pull request #13963 from cbodley/wip-18725 (diff)
downloadceph-68f4ee62cabeac16ad3e3df0e49638709ff6bdc7.tar.xz
ceph-68f4ee62cabeac16ad3e3df0e49638709ff6bdc7.zip
os/Filestore: fix wbthrottle assert.
When filestore_wbthrottle_*_*_start_flusher = 0, ceph-osd will assert on startup due to pending_wbs.empty() == True. It seems valid for user to set start_flusher to 0 as intend to flush aggressively all the time, to minimize the impact of syncfs(). Signed-off-by: Xiaoxi Chen <xiaoxchen@ebay.com>
Diffstat (limited to 'src')
-rw-r--r--src/os/filestore/WBThrottle.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/os/filestore/WBThrottle.cc b/src/os/filestore/WBThrottle.cc
index 71884445c76..9287715acd4 100644
--- a/src/os/filestore/WBThrottle.cc
+++ b/src/os/filestore/WBThrottle.cc
@@ -135,7 +135,7 @@ bool WBThrottle::get_next_should_flush(
{
assert(lock.is_locked());
assert(next);
- while (!stopping && !beyond_limit())
+ while (!stopping && (!beyond_limit() || pending_wbs.empty()))
cond.Wait(lock);
if (stopping)
return false;