anchor.diff:      supervisor:start_link({local, ?MODULE}, ?MODULE, []).
   
   actions(Children) ->
  -    [{VBucket, Dst} || {VBuckets, Dst, false} <- Children,
  +    [{VBucket, Dst} || {_, VBuckets, Dst, false} <- Children,
                          VBucket <- VBuckets].
   
   set_replicas(Node, Bucket, Replicas) ->
  
positive.code:                                                        NodeReplicas = [{DstNode, V} || V <- VBuckets],
                                                         lists:all(fun (NR) -> lists:member(NR, Replicas) end, NodeReplicas)
                                                 end, Children),
      lists:foreach(fun (Runaway) -> kill_child(Node, Runaway) end, Runaways),
      GoodChildren.
  
  
  
negative.code: move(Bucket, VBucket, SrcNode, DstNode) ->
      kill_children(SrcNode, Bucket, [VBucket]),
      Args = args(SrcNode, Bucket, [VBucket], DstNode, true),
      case misc:spawn_and_wait(
             SrcNode,
             fun () ->
                     apply(ns_port_server, start_link, Args)
             end) of
          normal -> ok;
          Reason -> {error, Reason}
      end.
  