anchor.diff:  %%--------------------------------------------------------------------
   %% INNNER FUNCTIONS
   %%--------------------------------------------------------------------
  +%% @doc Retrieve active redundancies
  +%% @private
  +-spec(get_active_redundancies(Quorum, Redundancies) ->
  +             {ok, [#redundant_node{}]} |
  +             {error, any()} when Quorum::non_neg_integer(),
  +                                 Redundancies::[#redundant_node{}]).
  +get_active_redundancies(_, []) ->
  +    {error, ?ERROR_NOT_SATISFY_QUORUM};
  +get_active_redundancies(Quorum, Redundancies) ->
  +    AvailableNodes = [RedundantNode ||
  +                         #redundant_node{available = true} = RedundantNode <- Redundancies],
  +    case (Quorum =< erlang:length(AvailableNodes)) of
  +        true ->
  +            {ok, AvailableNodes};
  +        false ->
  +            {error, ?ERROR_NOT_SATISFY_QUORUM}
  +    end.
  +
  +
   %% @doc read reapir - compare with remote-node's meta-data.
   %% @private
   -spec(read_and_repair(ReadParams, Redundancies) ->
  
positive.code:                            true  -> NumOfReplicas - 1;
                             false -> Quorum_1
                         end,
              leo_storage_replicator:replicate(Method, Quorum_2, Redundancies_1,
                                               Object, replicate_callback());
          {error, Cause} ->
              {error, Cause}
      end.
  
negative.code:                                    w         = WriteQuorum,
                                     d         = DeleteQuorum,
                                     ring_hash = RingHash}} ->
                      Quorum = ?quorum(Method, WriteQuorum, DeleteQuorum),
                      case get_active_redundancies(Quorum, Redundancies) of
                          {ok, Redundancies_1} ->
                              leo_storage_replicator:replicate(
                                Method, Quorum, Redundancies_1, Object#?OBJECT{ring_hash = RingHash},
                                replicate_callback(Object));
                          {error, Reason} ->
                              {error, Reason}
                      end;
                  {error,_Cause} ->
                      {error, ?ERROR_COULD_NOT_GET_REDUNDANCY}
              end;
  