osdc/ObjectCacher: fix BufferHead leak on ENOENT

This was detected by fsstress over ceph-fuse under valgrind.

Signed-off-by: Sage Weil <sage@inktank.com>
This commit is contained in:
Sage Weil 2012-11-24 09:37:35 -08:00
parent 8a03d50146
commit 7602a05576

View File

@ -703,6 +703,7 @@ void ObjectCacher::bh_read_finish(int64_t poolid, sobject_t oid, loff_t start,
if (r == -ENOENT) {
ldout(cct, 10) << "bh_read_finish removing " << *bh << dendl;
bh_remove(ob, bh);
delete bh;
continue;
}