Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

LSEEK and large files in Scyld

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

Peter Lindgren Peter.Lindgren at experian.com
Wed Oct 17 07:40:33 PDT 2001


I'm using the LinuxCentral version on one cluster, and just installed the Scyld "Basic Edition" on a 3-node test cluster (although I admit I haven't tried this test there yet...)

I'm trying to lseek past the 2Gig point in a "large" (greater than 2Gig) file, and lseek returns a large negative number. 

 I have _FILE_OFFSET_BITS=64 defined. I use "off_t" to define both the value I pass to lseek and what it returns. sizeof(off_t) returns 8.

If you lseek within the first 2Gig it works fine.

According to the online GNU glibc docs at
http://www.gnu.org/manual/glibc-2.2.3/html_node/libc_230.html

"When the source file is compiled with _FILE_OFFSET_BITS == 64 the lseek function is in fact lseek64 and the type off_t has 64 bits which makes it possible to handle files up to @math{2^63} bytes in length. "

I have noted related items like:
    1. define "_LARGEFILE_SOURCE"     (doesn't help) 
    1. define "_LARGEFILE64_SOURCE"     (then I use lseek64 and off64_t and it still doesn't work)
    2, add an open flag "O_LARGEFILE" (which is supposed to be defined in <fcntl.h>, but isn't)

See definitions of some of these items at:
http://www.gnu.org/manual/glibc-2.2.3/html_node/libc_13.html

If anyone knows what else I have to do to make this work, please let me know...


Peter Lindgren
Phone: 847 944 4515
Fax: 847 517 5889
E-mail: peter.lindgren at experian.com





More information about the Beowulf mailing list