anchor.diff:      NewTagData = ddfs_tag_util:encode_tagcontent(TagContent),
       TagId = TagContent#tagcontent.id,
       case put_distribute({TagId, NewTagData}) of
  -        {ok, DestNodes, _DestUrls} ->
  +        {ok, DestNodes, DestUrls} ->
               _ = send_replies(ReplyTo, ok),
               S#state{data = {ok, TagContent},
  -                    replicas = DestNodes};
  +                    replicas = DestNodes,
  +                    locations = DestUrls};
           {error, _} = E ->
               _ = send_replies(ReplyTo, E),
               S
  
positive.code:                        true -> ok
                      end,
                      _ = send_replies(ReplyTo, {ok, DestUrls}),
                      S#state{data = {ok, TagContent}, replicas = DestNodes};
                  {error, _} = E ->
                      _ = send_replies(ReplyTo, E),
                      S#state{url_cache = false}
  
negative.code:     put(blobk, list_to_integer(disco:get_setting("DDFS_BLOB_REPLICAS"))),
      {ok, #state{tag = TagName,
                  data = Data,
                  ddfs_data = disco:get_setting("DDFS_DATA"),
                  timeout = Timeout}}.
  
  -type msg() :: call_msg()
  