]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mds: do not call Journaler::_trim twice
authorTang Junhui <tangjunhui@sangfor.com>
Thu, 22 Nov 2018 12:21:46 +0000 (20:21 +0800)
committerJunhui Tang <tangjunhui@sangfor.com.cn>
Sun, 9 Dec 2018 02:14:54 +0000 (10:14 +0800)
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
src/mds/PurgeQueue.cc

index 31b1c09777ffbc0e7a5b9b1b8a161c315c0a9198..d417ea5ca7ac13973bff75673ec1a1c085f55401 100644 (file)
@@ -519,9 +519,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));