anchor.diff:                         [] -> undefined;
                          [N | _] -> N
                      end,
  -    lager:info("GC: average disk utilization: ~p, "
  -               "over utilized nodes: ~p, "
  -               "under utilized nodes: ~p",
  -               [DiskUsage, length(OverusedNodes), length(UnderusedNodes)]),
   
       lager:info("GC: entering gc phase"),
       OverusedPeer = find_peer(Peers, MostOverused),
  
positive.code:                 string:to_float(disco:get_setting("DDFS_GC_BALANCE_THRESHOLD")));
          false -> ?GC_BALANCE_THRESHOLD
      end.
  
  -spec find_unstable_nodes(underused | overused, [node_info()], non_neg_integer())
                           -> [node()].
  find_unstable_nodes(underused, NodeStats, AvgUsage) ->
      Threshold = get_balance_threshold(),
      [N || {N, _} = Node <- NodeStats, ddfs_master:get_utilization_index(Node) < AvgUsage - Threshold];
  find_unstable_nodes(overused, NodeStats, AvgUsage) ->
      Threshold = get_balance_threshold(),
      [N || {N, _} = Node <- NodeStats, ddfs_master:get_utilization_index(Node) > AvgUsage + Threshold].
  
  -spec update_nodestats(node(), gc_run_stats(), [node_info()]) -> [node_info()].
  update_nodestats(Node, {Tags, Blobs}, NodeStats) ->
  
negative.code: url(N, V, Blob, Root) ->
      {ok, _Local, Url} = ddfs_util:hashdir(Blob, disco:host(N), "blob", Root, V),
      Url.
  
  find_unstable_nodes(NS) ->
       DiskUsage = avg_disk_usage(NS),
       UnderUsed = find_unstable_nodes(underused, NS, DiskUsage),
       OverUsed = find_unstable_nodes(overused, NS, DiskUsage),
       lager:info("GC: average disk utilization: ~p, "
                  "over utilized nodes: ~p, "
                  "under utilized nodes: ~p",
                  [DiskUsage, length(OverUsed), length(UnderUsed)]),
      {UnderUsed, OverUsed}.
  
  -spec find_unstable_nodes(underused | overused, [node_info()], non_neg_integer())
                           -> [node()].
  find_unstable_nodes(underused, NodeStats, AvgUsage) ->
      Threshold = get_balance_threshold(),
      [N || {N, _} = Node <- NodeStats, ddfs_master:get_utilization_index(Node) < AvgUsage - Threshold];
  find_unstable_nodes(overused, NodeStats, AvgUsage) ->
      Threshold = get_balance_threshold(),
      [N || {N, _} = Node <- NodeStats, ddfs_master:get_utilization_index(Node) > AvgUsage + Threshold].
  