anchor.diff:  %% Internal functions
   %% ====================================================================
   
  -%% @private
  -%% @doc Start a `riak_moss_deleter' process to perform the actual work
  -%% of writing data to Riak.
  --spec start_deleter() -> {ok, pid()} | {error, term()}.
  -start_deleter() ->
  -    riak_moss_deleter_sup:start_deleter(node(), []).
  -
   %% ===================================================================
   %% Test API
   %% ===================================================================
   
   -ifdef(TEST).
   
  -%% @doc Start a `riak_moss_delete_fsm' for testing.
  --spec test_link([{atom(), term()}],
  -                binary(),
  -                string(),
  -                timeout()) ->
  -                       {ok, pid()} | ignore | {error, term()}.
  -test_link(StateProps, Bucket, Name, Timeout) ->
  -    Args = [Bucket, Name, Timeout],
  -    gen_fsm:start_link(?MODULE, {test, Args, StateProps}, []).
  -
  -%% @doc Get the current state of the fsm for testing inspection
  --spec current_state(pid()) -> atom() | {error, term()}.
  -current_state(Pid) ->
  -    gen_fsm:sync_send_all_state_event(Pid, current_state, infinity).
  -
   -endif.
  
positive.code: %% ===================================================================
  
  %% @doc Start a `riak_moss_delete_fsm'.
  -spec start_link(binary(),
                   string(),
                   timeout()) ->
                          {ok, pid()} | ignore | {error, term()}.
  start_link(Bucket, Name, Timeout) ->
      Args = [Bucket, Name, Timeout],
      gen_fsm:start_link(?MODULE, Args, []).
  
  %% @doc Send an event to a `riak_moss_delete_fsm'.
  -spec send_event(pid(), term()) -> ok.
  send_event(Pid, Event) ->
      gen_fsm:send_event(Pid, Event).
  
  %% ====================================================================
  %% gen_fsm callbacks
  
negative.code:          code_change/4]).
  
  -record(state, {bucket :: binary(),
                  key :: binary(),
                  manifest :: lfs_manifest(),
                  delete_blocks_remaining :: ordset:ordset(integer()),
                  mani_pid :: pid(),
                  all_delete_works :: list(pid()),
                  free_deleters :: ordsets:new()}).
  
  -type state() :: #state{}.
  
  %% ===================================================================
  