[Zope-dev] >2GB Data.fs files on FreeBSD

Andrew M. Kuchling akuchlin@mems-exchange.org
Thu, 13 Apr 2000 11:44:19 -0400 (EDT)


[Cc'ed to python-dev from the zope-dev mailing list; trim your
follow-ups appropriately]

R. David Murray writes:
>So it looks like there is a problem using Zope with a large database
>no matter what the platform.  Has anyone figured out how to fix this?
  ...
>But given the number of people who have said "use FreeBSD if you want
>big files", I'm really wondering about this.  What if later I
>have an application where I really need a >2GB database?

Different system calls are used for large files, because you can no
longer use 32-bit ints to store file position.  There's a
HAVE_LARGEFILE_SUPPORT #define that turns on the use of these
alternate system calls; see Python's configure.in for the test used to
detect when it should be turned on.  You could just hack the generated
config.h to turn on large file support and recompile your copy of
Python, but if the configure.in test is incorrect, that should be
fixed.

The test is:
AC_MSG_CHECKING(whether to enable large file support)
if test "$have_long_long" = yes -a \
        "$ac_cv_sizeof_off_t" -gt "$ac_cv_sizeof_long" -a \
        "$ac_cv_sizeof_long_long" -ge "$ac_cv_sizeof_off_t"; then
  AC_DEFINE(HAVE_LARGEFILE_SUPPORT)
  AC_MSG_RESULT(yes)
else
  AC_MSG_RESULT(no)
fi
 
I thought you have to use the loff_t type instead of off_t; maybe this
test should check for it instead?  Anyone know anything about large
file support?

-- 
A.M. Kuchling			http://starship.python.net/crew/amk/
When I dream, sometimes I remember how to fly. You just lift one leg, then you
lift the other leg, and you're not standing on anything, and you can fly.
  -- Chloe Russell, in SANDMAN #43: "Brief Lives:3"