]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: do not call Journaler::_trim twice 25562/head
authorTang Junhui <tangjunhui@sangfor.com>
Thu, 22 Nov 2018 12:21:46 +0000 (20:21 +0800)
committerNathan Cutler <ncutler@suse.com>
Fri, 14 Dec 2018 10:26:26 +0000 (11:26 +0100)
Journaler::_trim is called in the routine:
PurgeQueue::_execute_item
==>Journaler::write_head
==>Journaler::_finish_write_head
==>Journaler::_trim
so do not register callback in PurgeQueue::_execute_item
to call Journaler::_trim again.

Signed-off-by: Tang Junhui <tangjunhui@sangfor.com>
Fixes: http://tracker.ceph.com/issues/37566
(cherry picked from commit a509b5719bc44a63d7664a1b019adca6a3993f19)

src/mds/PurgeQueue.cc

index fa5d43f6229f584c25e935b067c05aac15dd57a8..85770d003237217dd500bb209c0778b2ae8daefb 100644 (file)
@@ -505,9 +505,7 @@ void PurgeQueue::_execute_item(
     // expire_pos doesn't fall too far behind our progress when consuming
     // a very long queue.
     if (in_flight.empty() || journaler.write_head_needed()) {
-      journaler.write_head(new FunctionContext([this](int r){
-            journaler.trim();
-            }));
+      journaler.write_head(nullptr);
     }
   }), &finisher));