anchor.diff:      DefaultNR = length(val({ForeignTab, ram_copies})), 
       DefaultND = length(val({ForeignTab, disc_copies})), 
       DefaultNDO = length(val({ForeignTab, disc_only_copies})),
  -    {Key, N, Pool, DefaultNR, DefaultND, DefaultNDO};
  +    DefaultNExt = length(val({ForeignTab, external_copies})),
  +    {Key, N, Pool, DefaultNR, DefaultND, DefaultNDO, DefaultNExt};
   pick_props(Tab, Cs, undefined) ->
       Props = Cs#cstruct.frag_properties,
       DefaultN = 1,
  
positive.code:     %% Verify keys
      ValidKeys = [foreign_key, n_fragments, node_pool,
  		 n_ram_copies, n_disc_copies, n_disc_only_copies,
  		 hash_module, hash_state],
      Keys = mnesia_schema:check_keys(Tab, Props, ValidKeys),
      mnesia_schema:check_duplicates(Tab, Keys),
  
      %% Pick fragmentation props
      ForeignKey = mnesia_schema:pick(Tab, foreign_key, Props, undefined),
      {ForeignKey2, N, Pool, DefaultNR, DefaultND, DefaultNDO} =
  	pick_props(Tab, Cs, ForeignKey),
  
      %% Verify node_pool
  
negative.code: 	activate ->
  	    [BaseCs];
  	create ->
  	    {BaseCs2, _, _} = set_frag_nodes(NR, ND, NDO, NExt, BaseCs, Dist, []),
  	    [BaseCs2]
      end.
      
  set_frag_nodes(NR, ND, NDO, NExt, Cs, [Head | Tail], Acc) when NR > 0 ->
      Pos = #cstruct.ram_copies,
      {Cs2, Head2} = set_frag_node(Cs, Pos, Head),
      set_frag_nodes(NR - 1, ND, NDO, NExt, Cs2, Tail, [Head2 | Acc]);
  set_frag_nodes(NR, ND, NDO, NExt, Cs, [Head | Tail], Acc) when ND > 0 ->
      Pos = #cstruct.disc_copies,
      {Cs2, Head2} = set_frag_node(Cs, Pos, Head),
      set_frag_nodes(NR, ND - 1, NDO, NExt, Cs2, Tail, [Head2 | Acc]);
  set_frag_nodes(NR, ND, NDO, NExt, Cs, [Head | Tail], Acc) when NDO > 0 ->
      Pos = #cstruct.disc_only_copies,
      {Cs2, Head2} = set_frag_node(Cs, Pos, Head),
      set_frag_nodes(NR, ND, NDO - 1, NExt, Cs2, Tail, [Head2 | Acc]);
  set_frag_nodes(NR, ND, NDO, NExt, Cs, [Head | Tail], Acc) when NExt > 0 ->
      Pos = #cstruct.external_copies,
      {Cs2, Head2} = set_frag_node(Cs, Pos, Head),
      set_frag_nodes(NR, ND, NDO, NExt - 1, Cs2, Tail, [Head2 | Acc]);
  set_frag_nodes(0, 0, 0, 0, Cs, RestDist, ModDist) ->
      {Cs, ModDist, RestDist};
  set_frag_nodes(_, _, _, _, Cs, [], _) ->
      mnesia:abort({combine_error,  Cs#cstruct.name, "Too few nodes in node_pool"}).
  
  set_frag_node(Cs, Pos, Head) ->
  