]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
journal: permit fire-and-forget aio commit position flush
authorJason Dillaman <dillaman@redhat.com>
Wed, 24 Feb 2016 21:20:02 +0000 (16:20 -0500)
committerJason Dillaman <dillaman@redhat.com>
Tue, 1 Mar 2016 12:38:05 +0000 (07:38 -0500)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/journal/JournalMetadata.cc

index ca35fc2923d75e747d03f01ef239afb9695b0fcd..90fc36bd3238f2d640222f630242bc00ef055a85 100644 (file)
@@ -504,12 +504,16 @@ void JournalMetadata::flush_commit_position(Context *on_safe) {
   Mutex::Locker locker(m_lock);
   if (m_commit_position_ctx == nullptr) {
     // nothing to flush
-    m_finisher->queue(on_safe, 0);
+    if (on_safe != nullptr) {
+      m_finisher->queue(on_safe, 0);
+    }
     return;
   }
 
-  m_commit_position_ctx = new C_FlushCommitPosition(
-    m_commit_position_ctx, on_safe);
+  if (on_safe != nullptr) {
+    m_commit_position_ctx = new C_FlushCommitPosition(
+      m_commit_position_ctx, on_safe);
+  }
   cancel_commit_task();
   handle_commit_position_task();
 }