Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
}
}
+ list <BufferHead*> hit;
// apply to bh's!
for (map<loff_t, BufferHead*>::iterator p = ob->data_lower_bound(start);
p != ob->data.end();
if (r >= 0) {
// ok! mark bh clean and error-free
mark_clean(bh);
+ hit.push_back(bh);
ldout(cct, 10) << "bh_write_commit clean " << *bh << dendl;
} else {
mark_dirty(bh);
}
}
+ for (list<BufferHead*>::iterator bh = hit.begin();
+ bh != hit.end();
+ ++bh) {
+ assert(*bh);
+ ob->try_merge_bh(*bh);
+ }
+
// update last_commit.
assert(ob->last_commit_tid < tid);
ob->last_commit_tid = tid;