No subject


Tue Jun 4 12:17:20 MDT 2013


system than ext2fs if running on a 2.2.x kernel.  Is that true?  Also is
there some source of documentation with a more complete list of issues?

TIA,
Chip

> -----Original Message-----
> From: Aaron Crane [mailto:aaron.crane at pobox.com]
> Sent: Monday, October 30, 2000 9:50 PM
> To: lug at lug.boulder.co.us
> Subject: Re: [lug] FW: HELP!
> 
> 
> Sean Reifschneider <jafo at tummy.com> writes:
> > There are specific functions that must be called to deal 
> with files larger
> > than 2GB on a system in which int is otherwise 32-bit.  I 
> believe they are
> > fseeko() and the like.
> 
> fseeko() is just a stdio function that uses an off_t to 
> represent a file
> offset, rather than a long.  (ISO C requires that fseek() use 
> a long to
> represent a file offset; Single Unix defined fseeko() so that 
> Unix could
> separate off_t from long.)
> 
> The way to access LFS calls is to define certain pre-processor symbols
> before including any headers.  The two interesting ones are 
> as follows:
> 
>   #define _LARGEFILE64_SOURCE
>     This makes available a number of functions such as open64() and
>     lseek64(), as well as a type off64_t which can represent 
> file offsets in
>     large files.  Similarly, <stdio.h> gets a new type 
> fpos64_t and a wide
>     variety of new operations including fopen64(), fseeko64(), and
>     ftell64().
> 
>   #define _FILE_OFFSET_BITS 64
>     This transparently replaces the normal file-system types 
> and functions
>     in the compilation environment with ones that can handle 
> 64-bit offsets.
>     (Note that fseek() is still the 32-bit one, but fseeko() 
> is now 64-bit
>     friendly.)  If this option is available, and if your code is
>     sufficiently well-written as to avoid any assumptions 
> about the size of
>     off_t, then this is the simplest way to access large files.
> 
> Of course, all this about compilation is just a libc issue -- 
> you still need
> both your kernel and the relevant file-system to be LFS-aware 
> if you want to
> actually read and write large files.  As far as I can tell, 
> that isn't the
> case for ext2fs on 2.2.x kernels, though it does seem to work 
> for block
> devices.
> 
> -- 
> Aaron Crane   <aaron.crane at pobox.com>   
> <URL:http://pobox.com/~aaronc/>
> 
> 
> _______________________________________________
> Web Page:  http://lug.boulder.co.us
> Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug
> 




More information about the LUG mailing list