httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Orton <jor...@redhat.com>
Subject Re: apr_lstat() fails on linux for large files
Date Fri, 28 Feb 2003 23:10:17 GMT
On Fri, Feb 28, 2003 at 04:37:38PM -0500, Jeff Trawick wrote:
> Joe Orton wrote:
> >On Fri, Feb 28, 2003 at 02:23:31PM -0500, Cliff Woolley wrote:
> >...
> >
> >>Of course, if I go and explictly compile Apache with
> >>CFLAGS=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64, then it works.
> >>
> >>So I guess the ultimate questions are these:
> >>
> >>(a) Why doesn't Apache automatically include largefile support?
> >>Performance reasons?  Shouldn't there at least be an easy ./configure
> >>option to turn it on?
> >
> >
> >There are at least two ramifications of doing this (this is all only
> >relevant on 32-bit systems):
> 
> isn't there also the problem that sendfile will be broken on many Linux 
> boxes?

True, I forgot that.

> >- Apache/APR compiled with _FILE_OFFSET_BITS=64 has an incompatible
> >module ABI with one which isn't - this is especially nasty if you don't
> >detect it at module load time.
> 
> something we can fix for APR 1.0/Apache 2.1-dev by making apr_off_t 
> always 64 bits whether native apr_off_t is 64 bits or not?

Yeah, something like that is possible: if you build with
-D_LARGEFILE_SOURCE you get the "transitional" LFS API which gives you
open64 (aka passing O_LARGEFILE to open) and lseek64 and things like
that which work on a new off64_t type, without changing the size of
off_t.

joe

Mime
View raw message