ldout(cct, 7) << "bh_write_commit no object cache" << dendl;
} else {
Object *ob = objects[poolid][oid];
+ int was_dirty_or_tx = ob->oset->dirty_or_tx;
+ if (!ob->exists) {
+ ldout(cct, 10) << "bh_write_commit marking exists on " << *ob << dendl;
+ ob->exists = true;
+
+ if (writeback_handler.may_copy_on_write(ob->get_oid(), start, length, ob->get_snap())) {
+ ldout(cct, 10) << "bh_write_commit may copy on write, clearing complete on " << *ob << dendl;
+ ob->complete = false;
+ }
+ }
+
// apply to bh's!
for (map<loff_t, BufferHead*>::iterator p = ob->data.lower_bound(start);
p != ob->data.end();