The new fsfs-access-map tool found a number of inefficiencies in fsfs-stats:  Repository files should only be opened once and we should use the membuffer cache to maximize the window cache efficiency.
The new fsfs-access-map tool found a number of inefficiencies in
fsfs-stats:  Repository files should only be opened once and
we should use the membuffer cache to maximize the window cache
efficiency.

* tools/server-side/fsfs-stats.c
  (window_cache_entry_t,
   window_cache_t): remove obsolete data types
  (window_cache_key_t): new data type
  (fs_fs_t): use svn_cache__t for our window cache
  (get_file_size): renamed from rev_or_pack_file_size;
   expect open file instead of a revision number
  (get_content): add optional file parameter to prevent opening
   the same file twice; use large buffers when reading large data
  (create_window_cache,
   get_window_cache_index): remove obsolete functions
  (get_cached_window,
   set_cached_window): adapt to usage of svn_cache__t
  (get_rep_content): adapt caller
  (get_combined_window): ditto; always cache the result
  (read_pack_file,
   read_revision_file): open files only once
  (read_revisions): adapt cache initialization code

git-svn-id: f8a4e5e023278da1e04e203c7fe051e3c4285d88@1425762 13f79535-47bb-0310-9956-ffa450edef68

YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion