
man 2 open describes O_LARGEFILE as follows: O_LARGEFILE: On 32-bit systems that support the Large Files System, allow files whose sizes cannot be represented in 31 bits to be opened. I'm slightly puzzled about why you would need to specify
why would it not just go ahead and open the file anyway? My best guess is that you are promising that all indexes into the file will be 64 bit (unsigned?) ints and not a 32 bit unsigned int. In other words, it's a backward compatability feature with a little typechecking
On Fri, May 09, 2003 at 02:43:58PM +0100, Alastair Reid wrote: this flag. That is, thrown in.
SuSv3 doesn't specify a difference between RW and RO. My first guess is unexpected nontermination could occur if something loops until getting some kind of sign it's passed EOF since offsets would wrap so they wanted to avoid that compatibility issue.
Anyway, will the following kernel update help clarify things? I'll send it in to akpm et al if so. I've checked with a couple of people and it appears the code is what was intended, not the comment.
A man page update might be nice too. I checked 'man open' on Linux and it says nothing about EFBIG, although it does mention O_LARGEFILE. Cheers, Simon