summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2011-09-01 13:14:11 -0700
committerSage Weil <sage@newdream.net>2011-09-01 13:15:21 -0700
commitc8c205fa73078c1ee46152ed860084a272867f5e (patch)
tree7d6fc77bb88699bfde7c439695b0112278119504
parentb2c762beccf8ca260e3d2ad25ee9b7c62eeedbbb (diff)
downloadceph-c8c205fa73078c1ee46152ed860084a272867f5e.tar.gz
objectcacher: write vs truncate races are ok
It is possible to write a buffer, truncate it away, and then not have it when we get the commit. Fixes: #1467 Signed-off-by: Sage Weil <sage@newdream.net>
-rw-r--r--src/osdc/ObjectCacher.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/osdc/ObjectCacher.cc b/src/osdc/ObjectCacher.cc
index 19ef1224b57..a4dad0ddf1a 100644
--- a/src/osdc/ObjectCacher.cc
+++ b/src/osdc/ObjectCacher.cc
@@ -632,7 +632,6 @@ void ObjectCacher::bh_write_commit(int64_t poolid, sobject_t oid, loff_t start,
<< dendl;
if (objects[poolid].count(oid) == 0) {
ldout(cct, 7) << "bh_write_commit no object cache" << dendl;
- assert(0);
} else {
Object *ob = objects[poolid][oid];
@@ -642,7 +641,8 @@ void ObjectCacher::bh_write_commit(int64_t poolid, sobject_t oid, loff_t start,
p++) {
BufferHead *bh = p->second;
- if (bh->start() > start+(loff_t)length) break;
+ if (bh->start() > start+(loff_t)length)
+ break;
if (bh->start() < start &&
bh->end() > start+(loff_t)length) {