httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niklas Edmundsson <ni...@acc.umu.se>
Subject Re: apr_brigade_insert_file() LFS/Linux issues
Date Wed, 03 May 2006 15:46:09 GMT
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)

And with the file being 4571095040 bytes, that offset and len seems 
correct to me...

And just to be sure it isn't my patch, the same without mod_disk_cache 
loaded:
[pid  5746] open("/export/ftp/mirror/media/StarWars-Revelations/revelations-2.iso", O_RDONLY)
= 11
...
[pid  5746] sendfile(10, 11, [0], 4571090944) = -1 EINVAL (Invalid argument)

It should be noted that in the latter case apr_brigade_insert_file() 
isn't even used since server/core.c hasn't been converted to use it.

This seems to be some sendfile/sendfile64 mess, any ideas on how to 
approach it?

/Nikke
-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  Niklas Edmundsson, Admin @ {acc,hpc2n}.umu.se      |     nikke@acc.umu.se
---------------------------------------------------------------------------
  "Hell has no fury as a woman scorned" - Deanna Troi
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Mime
View raw message