anchor.diff:                                          {[cs_uuid_and_manifest()], [cs_uuid()]}.
   maybe_delete_small_objects(Manifests, RcPid, Threshold) ->
       {ok, BagId} = riak_cs_riak_client:get_manifest_bag(RcPid),
  -    Self = self(),
  -    FinishedFun = fun(Msg) -> Self ! Msg end,
       DelFun= fun({UUID, Manifest = ?MANIFEST{state=pending_delete,
                                               content_length=ContentLength}},
                   {Survivors, UUIDsToDelete})
  
positive.code:                     %% actually this won't be scheduled :P
                      UUIDManifest = {UUID, Manifest?MANIFEST{state=scheduled_delete}},
                      _ = lager:debug("trying to delete ~p at ~p", [UUIDManifest, BagId]),
                      Args = [BagId, UUIDManifest, FinishedFun,
                              dummy_gc_key_in_sync_delete,
                              [{cleanup_manifests, false}]],
                      {ok, Pid} = riak_cs_delete_fsm_sup:start_delete_fsm(node(), Args),
                      Ref = erlang:monitor(process, Pid),
                      receive
                          {Pid, {ok, _}} ->
                              %% successfully deleted
                              erlang:demonitor(Ref, [flush]),
                              _ = lager:debug("Active deletion of ~p succeeded", [UUID]),
                              {Survivors, [UUID|UUIDsToDelete]};
                          {Pid, {error, _} = E} ->
                              erlang:demonitor(Ref, [flush]),
                              _ = lager:warning("Active deletion of ~p failed. Reason: ~p",
                                                [UUID, E]),
                              {[{UUID, Manifest}|Survivors], UUIDsToDelete};
                          {'DOWN', Ref, _Type, Pid, Reason} ->
                              _ = lager:warning("Delete FSM for ~p crashed. Reason: ~p", [Reason]),
                              {[{UUID, Manifest}|Survivors], UUIDsToDelete};
                          Other ->
                              %% Handling unknown error, or died unexpectedly
                              erlang:demonitor(Ref, [flush]),
                              _ = lager:error("Active deletion failed. Reason: ~p", [Other]),
                              {[{UUID, Manifest}|Survivors], UUIDsToDelete}
                      end;
                 ({UUID, M}, {Survivors, UUIDsToDelete}) ->
  
negative.code:             end,
      %% Obtain a new history!
      lists:foldl(DelFun, {[], []}, Manifests).
  
  -spec try_delete_blocks(binary(), cs_uuid_and_manifest()) -> ok | {error, term()}.
  try_delete_blocks(BagId, {UUID, _} = UUIDManifest) ->
      Self = self(),
      FinishedFun = fun(Msg) -> Self ! Msg end,
      Args = [BagId, UUIDManifest, FinishedFun,
              dummy_gc_key_in_sync_delete,
              [{cleanup_manifests, false}]],
      {ok, Pid} = riak_cs_delete_fsm_sup:start_delete_fsm(node(), Args),
      Ref = erlang:monitor(process, Pid),
      receive
          {Pid, {ok, {_, _, _, TotalBlocks, TotalBlocks}}} ->
              %% successfully deleted
              erlang:demonitor(Ref, [flush]),
              _ = lager:debug("Active deletion of ~p succeeded", [UUID]),
              ok;
          {Pid, {ok, {_, _, _, NumDeleted, TotalBlocks}}} ->
              erlang:demonitor(Ref, [flush]),
              _ = lager:debug("Only ~p/~p blocks of ~p deleted",
                              [NumDeleted, TotalBlocks, UUID]),
              {error, partially_deleted};
          {Pid, {error, _} = E} ->
              erlang:demonitor(Ref, [flush]),
              _ = lager:warning("Active deletion of ~p failed. Reason: ~p",
                                [UUID, E]),
              E;
          {'DOWN', Ref, _Type, Pid, Reason} ->
              _ = lager:warning("Delete FSM for ~p crashed. Reason: ~p", [Reason]),
              {error, Reason};
          Other ->
              %% Handling unknown error, or died unexpectedly
              erlang:demonitor(Ref, [flush]),
              _ = lager:error("Active deletion failed. Reason: ~p", [Other]),
              {error, Other}
      end.
  
  
  %% @doc Copy data for a list of manifests to the
  %% `riak-cs-gc' bucket to schedule them for deletion.
  