anchor.diff:      #atom{} | no_return().
   %% ====================================================================
   synchronize_file_block(FullFileName, Offset, Size) ->
  -    ?info("synchronize_file_block(~p,~p,~p)",[FullFileName, Offset, Size]),
  +    ?info("synchronize_file_block(~ts,~p,~p)",[FullFileName, Offset, Size]),
   
       %prepare data
       {ok, #db_document{uuid = FileId}} = fslogic_objects:get_file(FullFileName), %todo cache this somehow
  
positive.code:     lists:foreach(
          fun({Id, Ranges}) ->
              lists:foreach(fun(Range = #range{from = From, to = To}) ->
                  ?info("Synchronizing blocks: ~p of file ~s", [Range, FullFileName]),
                  O = From*?remote_block_size,
                  S = (To-From+1)*?remote_block_size,
                  gen_server:call(?Dispatcher_Name, {rtransfer, 1,
  
negative.code:     #atom{} | no_return().
  %% ====================================================================
  file_block_modified(FullFileName, Offset, Size) ->
      ?info("file_block_modified(~ts,~p,~p)",[FullFileName, Offset, Size]),
      {ok, #db_document{uuid = FileId}} = fslogic_objects:get_file(FullFileName), %todo cache this somehow
      #atom{value = ?VOK} = call({file_block_modified, fslogic_context:get_context(), FileId, Offset, Size, FullFileName}). % todo remove FullFileName arg
  
  