We used to call apply_transactions, which avoided rejournaling anything
because the journal wasn't writeable yet, but that uses all kinds of other
machinery that relies on threads and finishers and such that aren't
appropriate or necessary when we're just replaying journaled events.
Instead, call the lower-level do_transactions() directly.
Signed-off-by: Sage Weil <sage@newdream.net>
Transaction *t = new Transaction(p);
tls.push_back(t);
}
- int r = apply_transactions(tls);
+ int r = do_transactions(tls, op_seq);
+ op_seq++;
while (!tls.empty()) {
delete tls.front();
tls.pop_front();
void op_journal_transactions(list<ObjectStore::Transaction*>& tls, uint64_t op, Context *onjournal);
void _op_journal_transactions(list<ObjectStore::Transaction*>& tls, uint64_t op, Context *onjournal);
+ virtual int do_transactions(list<ObjectStore::Transaction*>& tls, uint64_t op_seq) = 0;
+
bool commit_start();
void commit_started(); // allow new ops (underlying fs should now be committing all prior ops)
void commit_finish();