From 082416fcca02590fce944c39eea8b3eff0d2851c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 24 Oct 2014 11:06:16 -0700 Subject: [PATCH] Revert "Enforce cache size on read requests" This reverts commit 4fc9fffc494abedac0a9b1ce44706343f18466f1. Signed-off-by: Sage Weil --- src/osdc/ObjectCacher.cc | 28 ++++++---------------------- src/osdc/ObjectCacher.h | 1 - 2 files changed, 6 insertions(+), 23 deletions(-) diff --git a/src/osdc/ObjectCacher.cc b/src/osdc/ObjectCacher.cc index 90bf03fd09b45..8455fb6a5240d 100644 --- a/src/osdc/ObjectCacher.cc +++ b/src/osdc/ObjectCacher.cc @@ -763,9 +763,6 @@ void ObjectCacher::bh_read_finish(int64_t poolid, sobject_t oid, ceph_tid_t tid, loff_t oldpos = opos; opos = bh->end(); - ls.splice(ls.end(), waitfor_read); - waitfor_read.clear(); - if (r == -ENOENT) { if (trust_enoent) { ldout(cct, 10) << "bh_read_finish removing " << *bh << dendl; @@ -1113,26 +1110,13 @@ int ObjectCacher::_readx(OSDRead *rd, ObjectSet *oset, Context *onfinish, for (map::iterator bh_it = missing.begin(); bh_it != missing.end(); ++bh_it) { - loff_t clean = get_stat_clean() + get_stat_rx() + - bh_it->second->length(); - if (get_stat_rx() > 0 && static_cast(clean) > max_size) { - // cache is full -- wait for rx's to complete - ldout(cct, 10) << "readx missed, waiting on cache to free " - << (clean - max_size) << " bytes" << dendl; - if (success) { - waitfor_read.push_back(new C_RetryRead(this, rd, oset, onfinish)); - } - bh_remove(o, bh_it->second); - delete bh_it->second; - } else { - bh_read(bh_it->second); - if (success && onfinish) { - ldout(cct, 10) << "readx missed, waiting on " << *bh_it->second - << " off " << bh_it->first << dendl; - bh_it->second->waitfor_read[bh_it->first].push_back( new C_RetryRead(this, rd, oset, onfinish) ); - } - bytes_not_in_cache += bh_it->second->length(); + bh_read(bh_it->second); + if (success && onfinish) { + ldout(cct, 10) << "readx missed, waiting on " << *bh_it->second + << " off " << bh_it->first << dendl; + bh_it->second->waitfor_read[bh_it->first].push_back( new C_RetryRead(this, rd, oset, onfinish) ); } + bytes_not_in_cache += bh_it->second->length(); success = false; } diff --git a/src/osdc/ObjectCacher.h b/src/osdc/ObjectCacher.h index 9685ee3838bed..ca16138fa2d00 100644 --- a/src/osdc/ObjectCacher.h +++ b/src/osdc/ObjectCacher.h @@ -340,7 +340,6 @@ class ObjectCacher { void *flush_set_callback_arg; vector > objects; // indexed by pool_id - list waitfor_read; ceph_tid_t last_read_tid; -- 2.39.5