&op,
op_t);
- ObjectStore::Transaction local_t;
- local_t.set_use_tbl(op_t->get_use_tbl());
+ ObjectStore::Transaction *local_t = new ObjectStore::Transaction;
+ local_t->set_use_tbl(op_t->get_use_tbl());
if (!(t->get_temp_added().empty())) {
- get_temp_coll(&local_t);
+ get_temp_coll(local_t);
add_temp_objs(t->get_temp_added());
}
clear_temp_objs(t->get_temp_cleared());
trim_to,
trim_rollback_to,
true,
- &local_t);
-
- local_t.append(*op_t);
- local_t.swap(*op_t);
+ local_t);
op_t->register_on_applied_sync(on_local_applied_sync);
op_t->register_on_applied(
new C_OSD_OnOpApplied(this, &op)));
op_t->register_on_applied(
new ObjectStore::C_DeleteTransaction(op_t));
+ op_t->register_on_applied(
+ new ObjectStore::C_DeleteTransaction(local_t));
op_t->register_on_commit(
parent->bless_context(
new C_OSD_OnOpCommit(this, &op)));
-
- parent->queue_transaction(op_t, op.op);
+
+ list<ObjectStore::Transaction*> tls;
+ tls.push_back(local_t);
+ tls.push_back(op_t);
+ parent->queue_transactions(tls, op.op);
delete t;
}