anchor.diff:      N  = leo_misc:get_value(?PROP_N,  Options),
       L2 = leo_misc:get_value(?PROP_L2, Options, 0),
   
  -    {ok, {Checksum, Index, RingSize, Ring}} =
  +    {ok, {Checksum, RingGroupList}} =
           gen_routing_table(?SYNC_MODE_CUR_RING, N, L2, Members),
  -    NewState = State#state{cur = #routing_table{checksum = Checksum,
  -                                                index    = Index,
  -                                                rows     = RingSize,
  -                                                table    = Ring}},
  +    NewState = State#state{cur = #ring_info{checksum = Checksum,
  +                                            ring_group_list = RingGroupList}},
       {reply, ok, NewState};
   handle_call({force_sync, {_, ?PREV_RING_TABLE}},_From, State) ->
       {ok, Members} = leo_redundant_manager_table_member:find_all(),
  
positive.code:     N  = leo_misc:get_value(?PROP_N,  Options),
      L2 = leo_misc:get_value(?PROP_L2, Options, 0),
  
      {ok, {Checksum, Index, RingSize, Ring}} =
          gen_routing_table(?SYNC_MODE_PREV_RING, N, L2, Members),
      NewState = State#state{prev = #routing_table{checksum = Checksum,
                                                   index    = Index,
                                                   rows     = RingSize,
                                                   table    = Ring}},
      {reply, ok, NewState};
  
  
  
negative.code: get_state([#member{node = Node0}|T], Node1, SetL2) when Node0 /= Node1 ->
      get_state(T, Node1, SetL2).
  
  