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_brigade_insert_file() LFS/Linux issues
Date Thu, 04 May 2006 05:45:58 GMT
On Wed, May 03, 2006 at 05:46:09PM +0200, Niklas Edmundsson wrote:
> On Wed, 3 May 2006, Joe Orton wrote:
> 
> >>I've run into apr_brigade_insert_file() creating brigades that's not
> >>possible to sendfile() (EINVAL), this is with httpd-2.2.2 on Ubuntu
> >>Breezy Linux amd64 (64bit). The file in question is 4.3GB, and it
> >>seems that sendfile() doesn't cope with that.
> >>
> >>Has anyone else seen this?
> >
> >No, works fine here.  Can you get strace output for the failing call?
> 
> [pid   931] open("/httpcache/HU/zG/8j/_HJBmSBIt0F2CnvQ", O_RDONLY) = 11
> ...
> [pid   931] sendfile(10, 11, [4096], 4571090944) = -1 EINVAL (Invalid 
> argument)

OK, what filesystem?  Colm had reported the same thing on Debian/IA64, 
which was on an NFS mount, IIRC.  If you adjust apr_brigade_insert_file 
to only allow buckets of MAX_BUCKET_SIZE regardless, i.e. change the 
conditional to:

  if (length < MAX_BUCKET_SIZE) {

does that work?

joe

Mime
View raw message