]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
filestore: simplify apply_transactions
authorSage Weil <sage@newdream.net>
Tue, 30 Nov 2010 00:38:55 +0000 (16:38 -0800)
committerSage Weil <sage@newdream.net>
Tue, 30 Nov 2010 00:38:55 +0000 (16:38 -0800)
Always use queue_transactions, even in no-journal case.

Signed-off-by: Sage Weil <sage@newdream.net>
src/os/FileStore.cc

index b988555356a534bb25fc7bd7860891fb635b4f07..09c8cae5f47e30cca8759786594f99b0d6861e6e 100644 (file)
@@ -1502,37 +1502,21 @@ unsigned FileStore::apply_transaction(Transaction &t,
 unsigned FileStore::apply_transactions(list<Transaction*> &tls,
                                       Context *ondisk)
 {
+  // use op pool
+  Cond my_cond;
+  Mutex my_lock("FileStore::apply_transaction::my_lock");
   int r = 0;
-
-  if (journal && journal->is_writeable() &&
-      (g_conf.filestore_journal_parallel || g_conf.filestore_journal_writeahead)) {
-    // use op pool
-    Cond my_cond;
-    Mutex my_lock("FileStore::apply_transaction::my_lock");
-    bool done;
-    C_SafeCond *onreadable = new C_SafeCond(&my_lock, &my_cond, &done, &r);
-
-    dout(10) << "apply queued" << dendl;
-    queue_transactions(NULL, tls, onreadable, ondisk);
-    
-    my_lock.Lock();
-    while (!done)
-      my_cond.Wait(my_lock);
-    my_lock.Unlock();
-    dout(10) << "apply done r = " << r << dendl;
-  } else {
-    uint64_t op_seq = op_apply_start(0);
-    r = do_transactions(tls, op_seq);
-    op_apply_finish(op_seq);
-
-    if (r >= 0) {
-      op_journal_start(op_seq);
-      journal_transactions(tls, op_seq, ondisk);
-      op_journal_finish();
-    } else {
-      delete ondisk;
-    }
-  }
+  bool done;
+  C_SafeCond *onreadable = new C_SafeCond(&my_lock, &my_cond, &done, &r);
+  
+  dout(10) << "apply queued" << dendl;
+  queue_transactions(NULL, tls, onreadable, ondisk);
+  
+  my_lock.Lock();
+  while (!done)
+    my_cond.Wait(my_lock);
+  my_lock.Unlock();
+  dout(10) << "apply done r = " << r << dendl;
   return r;
 }