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 | [EMAIL PROTECTED]
---------------------------------------------------------------------------
"Hell has no fury as a woman scorned" - Deanna Troi
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=