From 9b9bba919002a1bb4eb93aef8183bb5823687bd1 Mon Sep 17 00:00:00 2001 From: sageweil Date: Sun, 26 Aug 2007 04:10:13 +0000 Subject: [PATCH] fixed objectcacher write throttling git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@1698 29311d96-e01e-0410-9327-a35deaab8ce9 --- trunk/ceph/osdc/ObjectCacher.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/trunk/ceph/osdc/ObjectCacher.cc b/trunk/ceph/osdc/ObjectCacher.cc index 1bab2d4bec7ae..864e187c40c4e 100644 --- a/trunk/ceph/osdc/ObjectCacher.cc +++ b/trunk/ceph/osdc/ObjectCacher.cc @@ -917,8 +917,11 @@ int ObjectCacher::writex(Objecter::OSDWrite *wr, inodeno_t ino) // blocking wait for write. void ObjectCacher::wait_for_write(size_t len, Mutex& lock) { - while (get_stat_dirty() > g_conf.client_oc_max_dirty) { - dout(10) << "wait_for_write waiting" << dendl; + while (get_stat_dirty() + get_stat_tx() >= g_conf.client_oc_max_dirty) { + dout(10) << "wait_for_write waiting on " << len << ", dirty|tx " + << (get_stat_dirty() + get_stat_tx()) + << " >= " << g_conf.client_oc_max_dirty + << dendl; flusher_cond.Signal(); stat_waiter++; stat_cond.Wait(lock); -- 2.39.5