summaryrefslogtreecommitdiffstats
path: root/src/osdc
diff options
context:
space:
mode:
authorJason Dillaman <dillaman@redhat.com>2017-01-17 17:55:00 +0100
committerJason Dillaman <dillaman@redhat.com>2017-01-17 17:55:00 +0100
commit5910ed9de9856b5821488a1836487bbbd3d6460e (patch)
treea8dddbc6693e308d6f233cc22da2788ea15a844e /src/osdc
parentMerge pull request #12885 from rjfd/wip-18325 (diff)
downloadceph-5910ed9de9856b5821488a1836487bbbd3d6460e.tar.xz
ceph-5910ed9de9856b5821488a1836487bbbd3d6460e.zip
osdc: cache should ignore error bhs during trim
A read error (such as injecting a timeout into an OSD op) might result in a bh in an error state. These should be trimable by the cache. Fixes: http://tracker.ceph.com/issues/18436 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Diffstat (limited to 'src/osdc')
-rw-r--r--src/osdc/ObjectCacher.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/osdc/ObjectCacher.cc b/src/osdc/ObjectCacher.cc
index 156524142dc..6d8f018d6bd 100644
--- a/src/osdc/ObjectCacher.cc
+++ b/src/osdc/ObjectCacher.cc
@@ -1234,7 +1234,7 @@ void ObjectCacher::trim()
break;
ldout(cct, 10) << "trim trimming " << *bh << dendl;
- assert(bh->is_clean() || bh->is_zero());
+ assert(bh->is_clean() || bh->is_zero() || bh->is_error());
Object *ob = bh->ob;
bh_remove(ob, bh);