anchor.diff:          {NumPresent, NumRecovered}
             when NumRecovered =:= 0, NumPresent >= Blobk ->
               % No need for replication or blob update.
  -            noupdate;
  +            {noupdate, 0};
           {NumPresent, NumRecovered}
             when NumRecovered > 0, NumPresent + NumRecovered >= Blobk ->
               % No need for new replication; containing tags need updating to
               % recover lost blob replicas.
  -            {update, []};
  +            {{update, []}, 0};
           {0, 0}
             when Present =:= [], Recovered =:= [] ->
               % We have no good copies from which to generate new replicas;
               % we have no option but to live with the current information.
               lager:warning("GC: all replicas missing for ~p!!!", [BlobName]),
  -            noupdate;
  +            {noupdate, 0};
           {NumPresent, NumRecovered} ->
               % Extra replicas are needed; we generate one new replica at a
               % time, in a single-shot way. We use any available replicas as
  
positive.code:                                "(with ~p replicas recorded) "
                                 "failed: ~p",
                                 [BlobName, NumPresent, E]),
                      noupdate;
                  {{error, E}, _} ->
                      lager:info("GC: rr for ~p "
                                 "(with ~p/~p replicas recorded/recovered) "
                                 "failed: ~p",
                                 [BlobName, NumPresent, NumRecovered, E]),
                      % We should record the usable recovered replicas.
                      {update, []};
                  {pending, _} ->
                      lager:info("GC: rr for ~p "
                                 "(with ~p/~p replicas recorded/recovered) "
                                 "initiated",
                                 [BlobName, NumPresent, NumRecovered]),
                      % Mark the blob as updatable (see update_replicas/3).
                      {update, []}
              end
      end.
  
  
negative.code: 
            num_pending_reqs  = 0               :: non_neg_integer(),       % build_map/map_wait
            pending_nodes     = gb_sets:empty() :: gb_set(),                % gc
            rr_reqs           = 0               :: non_neg_integer(),       % rr_blobs
            rr_pid            = undefined       :: 'undefined' | pid(),     % rr_blobs
            safe_blacklist    = gb_sets:empty() :: gb_set(),                % rr_tags
  
  