anchor.diff:                       ?user_log(?REBALANCE_STOPPED,
                                  "Rebalance stopped by user.~n"),
                        ns_cluster:counter_inc(rebalance_stop),
  +                     case MaybeTref of
  +                         undefined ->
  +                             ok;
  +                         _ ->
  +                             gen_fsm:cancel_timer(MaybeTref)
  +                     end,
                        none;
                    _ ->
                        ?user_log(?REBALANCE_FAILED,
  
positive.code: -record(janitor_state, {janitor_requests :: [janitor_request()],
                          pid}).
  -record(rebalancing_state, {rebalancer, progress,
                              keep_nodes, eject_nodes, failed_nodes}).
  -record(recovery_state, {uuid :: binary(),
                           bucket :: bucket_name(),
                           recoverer_state :: any()}).
  
negative.code:             #rebalancing_state{rebalancer=Pid} = State) ->
      ?log_debug("Sending stop to rebalancer: ~p", [Pid]),
      Pid ! stop,
      Tref = gen_fsm:start_timer(?STOP_REBALANCE_TIMEOUT, stop_timeout),
      {reply, ok, rebalancing, State#rebalancing_state{stop_timer = Tref}};
  rebalancing(rebalance_progress, _From,
              #rebalancing_state{progress = Progress} = State) ->
      AggregatedProgress = dict:to_list(rebalance_progress:get_progress(Progress)),
  