Re: [Zope] FYI: large files & linux.
On Sun, 5 Mar 2000 16:27:18 +1000 (EST) Andrew Kenneth Milton <akm@mail.theinternet.com.au> wrote:
FreeBSD on intel architecture doesn't have the large file limit of Linux.
Not exactly true. The *BSD's, like most of the rest of the world, implement the basic POSIX file APIs which use a signed 32bit long for file offsets in the base ABIs. Ergo. if you are using the equivalent of C's fseek(...SEEK_SET) (from beginning of file), you are explicitly limited in the maximum size files you can process. There are multiple hacked ways to work around this, one of which is to allow offsets from SEEK_CUR to page-flip out into longer files (just never use a SEEK_SET), or to implement another, parallel ABI which takes a 63/64bit offset value. Neither of which however helps the poor application which merely expected standards compliant behaviour from its host and therefore didn't play by the local "special rules", -- J C Lawrence Home: claw@kanga.nu ----------(*) Other: coder@kanga.nu --=| A man is as sane as he is dangerous to his environment |=--
+----[ J C Lawrence ]--------------------------------------------- | On Sun, 5 Mar 2000 16:27:18 +1000 (EST) | Andrew Kenneth Milton <akm@mail.theinternet.com.au> wrote: | | > FreeBSD on intel architecture doesn't have the large file limit of | > Linux. | | Not exactly true. The *BSD's, like most of the rest of the world, | implement the basic POSIX file APIs which use a signed 32bit long Not completely correct. man lseek... it doesn't work on file streams (fopen ), it works on file descriptors like poll and select, and, it works on very very large files. lseek is a POSIX interface, and has been a part of linux since at least 1995. Indeed the BSD and Linux manpages are basically identical including this as a bug: BUGS This document's use of whence is incorrect English, but is maintained for historical reasons. :-) -- Totally Holistic Enterprises Internet| P:+61 7 3870 0066 | Andrew Milton The Internet (Aust) Pty Ltd | F:+61 7 3870 4477 | ACN: 082 081 472 | M:+61 416 022 411 | Carpe Daemon PO Box 837 Indooroopilly QLD 4068 |akm@theinternet.com.au|
participants (2)
-
Andrew Kenneth Milton -
J C Lawrence