diff options
author | Sage Weil <sage@newdream.net> | 2011-09-01 13:14:11 -0700 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2011-09-01 13:15:21 -0700 |
commit | c8c205fa73078c1ee46152ed860084a272867f5e (patch) | |
tree | 7d6fc77bb88699bfde7c439695b0112278119504 | |
parent | b2c762beccf8ca260e3d2ad25ee9b7c62eeedbbb (diff) | |
download | ceph-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.cc | 4 |
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) { |