return r;
}
-unsigned FileStore::apply_transaction(Transaction &t,
- Context *ondisk)
-{
- list<Transaction*> tls;
- tls.push_back(&t);
- return apply_transactions(tls, ondisk);
-}
-
-unsigned FileStore::apply_transactions(list<Transaction*> &tls,
+unsigned FileStore::apply_transactions(Sequencer *osr,
+ list<Transaction*> &tls,
Context *ondisk)
{
// use op pool
C_SafeCond *onreadable = new C_SafeCond(&my_lock, &my_cond, &done, &r);
dout(10) << "apply queued" << dendl;
- queue_transactions(NULL, tls, onreadable, ondisk);
+ queue_transactions(osr, tls, onreadable, ondisk);
my_lock.Lock();
while (!done)
int statfs(struct statfs *buf);
int do_transactions(list<Transaction*> &tls, uint64_t op_seq);
- unsigned apply_transaction(Transaction& t, Context *ondisk=0);
- unsigned apply_transactions(list<Transaction*>& tls, Context *ondisk=0);
+ unsigned apply_transactions(Sequencer *osr, list<Transaction*>& tls, Context *ondisk=0);
+
unsigned _do_transaction(Transaction& t, uint64_t op_seq, int trans_num);
int queue_transaction(Sequencer *osr, Transaction* t);
}
};
- virtual unsigned apply_transaction(Transaction& t, Context *ondisk=0) = 0;
- virtual unsigned apply_transactions(list<Transaction*>& tls, Context *ondisk=0) = 0;
+ unsigned apply_transaction(Transaction& t, Context *ondisk=0) {
+ list<Transaction*> tls;
+ tls.push_back(&t);
+ return apply_transactions(NULL, tls, ondisk);
+ }
+ unsigned apply_transaction(Sequencer *osr, Transaction& t, Context *ondisk=0) {
+ list<Transaction*> tls;
+ tls.push_back(&t);
+ return apply_transactions(osr, tls, ondisk);
+ }
+ unsigned apply_transactions(list<Transaction*>& tls, Context *ondisk=0) {
+ return apply_transactions(NULL, tls, ondisk);
+ }
+ virtual unsigned apply_transactions(Sequencer *osr, list<Transaction*>& tls, Context *ondisk=0) = 0;
virtual int queue_transaction(Sequencer *osr, Transaction* t) = 0;
virtual int queue_transaction(Sequencer *osr, Transaction *t, Context *onreadable, Context *ondisk=0,