[OpenAFS] Re: Large files with 1.6.0pre2

Russ Allbery rra@stanford.edu
Sun, 06 Mar 2011 12:45:57 -0800


Simon Wilkinson <sxw@inf.ed.ac.uk> writes:

> The positional I/O code only landed with 335ccb, which is on master and
> 1.6, but not on 1.4, which is why we haven't seen this problem before. I
> suspect that the correct solution is both to take Ryan's patch and to
> investigate using AC_SYS_LARGEFILE.

You do not want to take Ryan's patch as-is if you use AC_SYS_LARGEFILE
becuase they will potentially conflict.  If you're going to set
_FILE_OFFSET_BITS=64, you should not mess around with redefining functions
to *64 versions, since the system headers will be potentially trying to do
the same thing and may get very confused.

Ryan's patch is basically a partial reimplementation of
_FILE_OFFSET_BITS=64 only for that one function.

> The one thing I'd be wary of there is making sure that we aren't
> serialising to disk anything that changes in length as a result of
> setting _FILE_OFFSET_BITS=64

That will change the size of off_t globally through the source base, so
yes, if you're persisting off_t to disk as-is, that's going to be a
problem.

-- 
Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>