This gives us the <op_seq, trans_num, op_num> triple to identify every
constituent operation.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
return id;
}
+ int trans_num = 0;
for (list<Transaction*>::iterator p = tls.begin();
p != tls.end();
- p++) {
- r = _do_transaction(**p, op_seq);
+ p++, trans_num++) {
+ r = _do_transaction(**p, op_seq, trans_num);
if (r < 0)
break;
}
TEMP_FAILURE_RETRY(::close(fd));
}
-unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq)
+unsigned FileStore::_do_transaction(Transaction& t, uint64_t op_seq, int trans_num)
{
dout(10) << "_do_transaction on " << &t << dendl;
unsigned apply_transactions(list<Transaction*>& tls, Context *ondisk=0);
int _transaction_start(uint64_t bytes, uint64_t ops);
void _transaction_finish(int id);
- unsigned _do_transaction(Transaction& t, uint64_t op_seq);
+ unsigned _do_transaction(Transaction& t, uint64_t op_seq, int trans_num);
int queue_transaction(Sequencer *osr, Transaction* t);
int queue_transactions(Sequencer *osr, list<Transaction*>& tls, Context *onreadable, Context *ondisk=0,