anchor.diff:      gen_server:call(FilePid, {write, Offset, Chunk}).
   
   init([TorrentID, RelPath, FullPath]) ->
  -    {ok, DirPid} = etorrent_io:await_directory(TorrentID),
  -    DirMonitor = erlang:monitor(process, DirPid),
       _ = etorrent_io:register_file_server(TorrentID, RelPath),
       InitState = #state{
           torrent=TorrentID,
           handle=closed,
           relpath=RelPath,
  -        fullpath=FullPath,
  -        dir_monitor=DirMonitor,
  -        await_ref=none},
  +        fullpath=FullPath},
       {ok, InitState}.
   
   handle_call({read, _, _}, _, State) when State#state.handle == closed ->
  
positive.code: -record(state, {
      torrent :: torrent_id(),
      handle=closed :: closed | file:io_device(),
      relpath :: file_path(),
      fullpath :: file_path(),
      dir_monitor=none :: none | reference(),
      await_ref=none :: none | reference()}).
  
  
  -spec start_link(torrent_id(), file_path(), file_path()) -> {'ok', pid()}.
  
negative.code:     ok = file:pwrite(Handle, Offset, Chunk),
      {reply, ok, State}.
  
  handle_cast(open, State) ->
      #state{
          torrent=Torrent,
          handle=closed,
  