Instead of assuming implicit limits on l2p index structure sizes in FSFS, explicitly limit the number of entries per page to 2G and the number of pages per index file to 2G as well.  Both limits are quite theoretical and the practical limits imposed by memory size and APR are lower than that.
Instead of assuming implicit limits on l2p index structure sizes in FSFS,
explicitly limit the number of entries per page to 2G and the number of
pages per index file to 2G as well.  Both limits are quite theoretical
and the practical limits imposed by memory size and APR are lower than
that.

Hence, we can happily convert page counts and sizes to int32.  This fixes
various 64 -> 32 bit integer conversion warnings.

* subversion/libsvn_fs_fs/index.c
  (l2p_header_t): The PAGE_SIZE is now explicitly 32 bits.
  (svn_fs_fs__l2p_index_create): Check that we keep within the new 2G limits.
                                 Explicitly cast afterwards to silence false
                                 conversion warnings.
  (get_l2p_header_body): Cast to the new struct member type.
  (l2p_page_info_baton_t): The PAGE_COUNT is now explicitly 32 bits as well.
  (l2p_page_info_copy): Update casts to use the correct type.  Explicitly
                        handle index page table overflows.

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

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