anchor.diff:                  ale:info(?USER_LOGGER,
                            "Couldn't generate rack-aware vbucket map. "
                            "Falling back to rack-unaware one."),
  -                {ok, Map} = do_invoke_vbmap(VbmapPath, dummy, DiagPath, Nodes,
  -                                            NumVBuckets, NumSlaves, NumReplicas, Tags),
  +                {ok, Map} = do_invoke_vbmap(VbmapPath, dummy, DiagPath,
  +                                            CurrentMap, Nodes, NumVBuckets,
  +                                            NumSlaves, NumReplicas, Tags),
                   Map
           end
       after
           file:delete(DiagPath)
       end.
   
  -do_invoke_vbmap(VbmapPath, Backend, DiagPath, Nodes,
  -                NumVBuckets, NumSlaves, NumReplicas, Tags) ->
  +do_invoke_vbmap(VbmapPath, Backend, DiagPath,
  +                CurrentMap, Nodes, NumVBuckets, NumSlaves, NumReplicas, Tags) ->
       misc:executing_on_new_process(
         fun () ->
  -              do_invoke_vbmap_body(VbmapPath, Backend, DiagPath, Nodes,
  +              do_invoke_vbmap_body(VbmapPath, Backend, DiagPath, CurrentMap, Nodes,
                                      NumVBuckets, NumSlaves, NumReplicas, Tags)
         end).
   
  -do_invoke_vbmap_body(VbmapPath, Backend, DiagPath, Nodes,
  +do_invoke_vbmap_body(VbmapPath, Backend, DiagPath, CurrentMap, Nodes,
                        NumVBuckets, NumSlaves, NumReplicas, Tags) ->
       NumNodes = length(Nodes),
   
  
positive.code:         lists:append(
            %% vbmap itself randomizes some things internally so let's give it a
            %% chance
            [[invoke_vbmap(ShuffledNodes, NumVBuckets, NumSlaves, NumReplicas, Tags) ||
                 _ <- lists:seq(1, 3)] ||
                ShuffledNodes <- [misc:shuffle(KeepNodes) || _ <- lists:seq(1, 3)]]),
  
  
negative.code: testnodes(NumNodes) ->
      [list_to_atom([$n | tl(integer_to_list(1000+N))]) || N <- lists:seq(1, NumNodes)].
  
  invoke_vbmap(CurrentMap, Nodes, NumVBuckets, NumSlaves, NumReplicas, Tags) ->
      VbmapName =
          case erlang:system_info(system_architecture) of
              "win32" ->
  