The binary definitely can create & read files larger than 2GB on a linux system. It's the "p4d" binary from Perforce under emulation that I'm having a problem with. The 64bit calls are in the compat layer (/usr/src/sys/compat/linux/linux_file64.c) ktrace shows calls to fstat64(), but pread() segvs on p4d reading files larger than 2GB, and pwrite() segvs on p4d writing files larger than 2GB. -Glenn
COMPAT_LINUX emulation of pread() and pwrite() system calls is limited to 32-bit file offsets. However, Linux kernels eventually changed these system calls to use 64-bit file offsets (without using a different system call number, unfortunately). The COMPAT_LINUX code is in dire need of an upgrade to match more recent linux kernels... Miod