anchor.diff:  
   -record(state, { file_mapping_table = none,
   		 file_mapping_handle = none,
  +		 file_pool = none,
   
   		 file_process_dict = none}).
   
  
positive.code:     case dict:find(Path, S#state.file_process_dict) of
  	{ok, Pid} ->
  	    Ref = make_ref(),
  	    case catch({Ref, etorrent_fs_process:getorrent_data(Pid, Offset, Size)}) of
  		{Ref, {ok, Data}} ->
  		    read_pieces_and_assemble(Rest, [Data | Done], S);
  		{'EXIT', {noproc, _}} ->
  
negative.code: %%% Internal functions
  %%--------------------------------------------------------------------
  create_file_process(Path, S) ->
      {ok, Pid} = etorrent_fs_pool_sup:add_file_process(S#state.file_pool, Path),
      erlang:monitor(process, Pid),
      NewDict = dict:store(Path, Pid, S#state.file_process_dict),
      {ok, Pid, S#state{ file_process_dict = NewDict }}.
  
  