anchor.diff:  handle_info(_Info, StateName, State) ->
       {next_state, StateName, State}.
   
  -terminate(normal, _StateName, _State) ->
  -    gen_fsm:sync_send_event(riak_cs_gc_d, {self(), ok}, 5000),
  -    ok;
  -terminate(Reason, _StateName, _State) ->
  -    gen_fsm:sync_send_event(riak_cs_gc_d, {self(), {error, Reason}}, 5000),
  +terminate(Reason, _StateName, #state{all_delete_workers=AllDeleteWorkers,
  +                                     manifest=?MANIFEST{state=ManifestState},
  +                                     bucket=Bucket,
  +                                     key=Key,
  +                                     uuid=UUID,
  +                                     riakc_pid=RiakcPid}) ->
  +    manifest_cleanup(ManifestState, Bucket, Key, UUID, RiakcPid),
  +    _ = [riak_moss_block_server:stop(P) || P <- AllDeleteWorkers],
  +    notify_gc_daemon(Reason),
       ok.
   
   code_change(_OldVsn, StateName, State, _Extra) ->
  
positive.code:     {NewManifest, BlocksToDelete} = blocks_to_delete_from_manifest(Manifest),
  
      NewState = State#state{manifest=NewManifest,
                             unacked_deletes=[],
                             delete_blocks_remaining=BlocksToDelete},
  
      %% Handle the case where there are 0 blocks to delete,
  
negative.code:                                     free_deleters=NewFreeDeleters,
                                      delete_blocks_remaining=NewDeleteBlocksRemaining}).
  
  -spec notify_gc_daemon(term()) -> term().
  notify_gc_daemon(Reason) ->
      gen_fsm:sync_send_event(riak_cs_gc_d, notification_msg(Reason), infinity).
  
  -spec notification_msg(term()) -> {pid(), ok | {error, term()}}.
  notification_msg(normal) ->
      {self(), ok};
  notification_msg(Reason) ->
      {self(), {error, Reason}}.
  
  -spec manifest_cleanup(atom(), binary(), binary(), binary(), pid()) -> ok.
  manifest_cleanup(deleted, Bucket, Key, UUID, RiakcPid) ->
      {ok, ManiFsmPid} = riak_moss_manifest_fsm:start_link(Bucket, Key, RiakcPid),
      _ = riak_moss_manifest_fsm:delete_specific_manifest(ManiFsmPid, UUID),
      _ = riak_moss_manifest_fsm:stop(ManiFsmPid),
      ok;
  manifest_cleanup(_, _, _, _, _) ->
      ok.
  
  -spec blocks_to_delete_from_manifest(lfs_manifest()) ->
      {lfs_manifest(), ordsets:ordset(integer())}.
  