anchor.diff:  
   %% API
   -export([start_link/1, stop/0,
  -         request_lease/3, end_lease/2]).
  +         request_lease/3, end_lease/2, get_leases/0]).
   
   %% gen_server callbacks
   -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
  
positive.code:     Reply = priv_end_lease(Repo, Path),
      lager:info("Request received: {end_lease, ~p} -> Reply: ~p"
                ,[{Repo, Path}, Reply]),
      {reply, Reply, State};
  handle_call(_Request, _From, State) ->
      Reply = ok,
  
negative.code: %%%
  %%%-------------------------------------------------------------------
  
  %% TODO:
  %% - how should lease times be stored in the table?
  %% - this process needs to flush the lease table on exit.
  %%   - make it trap exits and flush the table before mnesia exits
  
  -module(cvmfs_lease).
  
  -compile([{parse_transform, lager_transform}]).
  