For FSFS format 7, eliminate P2L index lookups when not in block-read mode.
For FSFS format 7, eliminate P2L index lookups when not in block-read mode.

The block-read code path always performs a two-way lookup because the
reader sub-functions expect a full item description (P2L entry) instead
of just a location to read from.  Therefore, we should simply skip the
whole block_read() code path when not in block-read mode; our addressing
has been unified across all formats anyway with a the change paths list
being a minor special case.

* subversion/libsvn_fs_fs/cached_data.c
  (use_block_read): New utility predicate deciding what code path to take.
  (get_node_revision_body, 
   create_rep_state_body,
   read_delta_window): Use new function to select code path.
  (svn_fs_fs__get_changes): Same. However, for the normal read path, we
                            need format-specific code to get the offset.
  (block_read): No checking for block-read mode needed here anymore.


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

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