diff options
author | Xiaoxi Chen <xiaoxchen@ebay.com> | 2017-03-29 05:26:43 +0200 |
---|---|---|
committer | Xiaoxi Chen <xiaoxchen@ebay.com> | 2017-04-26 08:50:40 +0200 |
commit | 68f4ee62cabeac16ad3e3df0e49638709ff6bdc7 (patch) | |
tree | 0fa6fbc9411f208542fd944c49e39b3cf42eb2b4 /src/os | |
parent | Merge pull request #13963 from cbodley/wip-18725 (diff) | |
download | ceph-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/os')
-rw-r--r-- | src/os/filestore/WBThrottle.cc | 2 |
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; |