From 94d2b91d5b2555c8c77b78cc089d56fa6793d29a Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 24 Oct 2012 14:36:05 -0700 Subject: [PATCH] osdc/ObjectCacher: clear complete on trim, release Clear the complete flag when we are discarding buffers. Signed-off-by: Sage Weil --- src/osdc/ObjectCacher.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/osdc/ObjectCacher.cc b/src/osdc/ObjectCacher.cc index 218d9dbd2f9..708fb4872f1 100644 --- a/src/osdc/ObjectCacher.cc +++ b/src/osdc/ObjectCacher.cc @@ -841,6 +841,11 @@ void ObjectCacher::trim(loff_t max_bytes, loff_t max_ob) Object *ob = bh->ob; bh_remove(ob, bh); delete bh; + + if (ob->complete) { + ldout(cct, 10) << "trim clearing complete on " << *ob << dendl; + ob->complete = false; + } } while (ob_lru.lru_get_size() > max_ob) { @@ -1663,6 +1668,11 @@ loff_t ObjectCacher::release(Object *ob) return 0; } + if (ob->complete) { + ldout(cct, 10) << "release clearing complete on " << *ob << dendl; + ob->complete = false; + } + return o_unclean; }