anchor.diff:  
   open_async(Server, From, DbName, Filepath, Options) ->
       Parent = self(),
  -    put({async_open, DbName}, os:timestamp()),
  +    T0 = os:timestamp(),
       Opener = spawn_link(fun() ->
           Res = couch_db:start_link(DbName, Filepath, Options),
           case {Res, lists:member(create, Options)} of
  
positive.code:             _ ->
                  ok
          end,
          gen_server:call(Parent, {open_result, DbName, Res}, infinity),
          unlink(Parent)
      end),
      ReqType = case lists:member(create, Options) of
  
negative.code:             Server#server.lru
      end,
      {reply, ok, Server#server{lru = Lru}};
  handle_call({open_result, T0, DbName, {error, eexist}}, From, Server) ->
      handle_call({open_result, T0, DbName, file_exists}, From, Server);
  handle_call({open_result, _T0, DbName, Error}, {FromPid, _Tag}, Server) ->
      % icky hack of field values - compactor_pid used to store clients
      [#db{fd=ReqType, compactor_pid=Froms}=Db] = ets:lookup(couch_dbs, DbName),
      [gen_server:reply(From, Error) || From <- Froms],
  