full LFS implementation has been one of the highlights of our work here at Suselabs 
since 2.3.x/2.4.x. this was too the highlight of our work for our IBM-S/390 port.

Large File Support which is coming out on newer distros is the work of the kernel and 
glibc. apart from that full use of the LFS for userpace needs 1.) a  filesystem 
capable of LFS 2.) applications compiled against the LFS api. something along the 
lines of :

programs compiled with "gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE". This forces 
all file access calls to use the 64 bit variants. Several types change also, e.g. 
off_t becomes off64_t. It's therefore important to always use the correct types and to 
not use e.g. int instead of off_t. 

Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE. With these defines you can use the 
LFS functions like open64 directly. 
Use the O_LARGEFILE flag with open to operate on large files. 

alternatively, a rundown of filesystem with LFS support as follows as contributed by 
my colleague Chris Mason.

ext2- Full support for LFS 
NFSv2 - Cannot handle LFS due to protocol restrictions (limited to 2G-1); limited LFS 
support but expect some bugs 
NFSv3 - The protocol is ok, but I'm not sure about the Linux implementation status 
ReiserFS 3.5.x (not part of the kernel, separate patch)  Does not support LFS 
ReiserFS 3.6.x (part of kernel 2.4.1 and newer) 
Full support for LFS if the new on disk format is used. This format is incompatible to 
the format used by 3.5.x 
coda - Does not work with LFS (local cache issues, protocol is ok) 
UFS - Full support for LFS (although not complete vs. O_LARGEFILE flag use) 
smbfs - Originally limited to 2G-1 (implements older non LFS protocol). Windows NT has 
SMB extensions that allow 64 bit filessystems. The latest official Samba release 
(2.0.7) does support those but disables them on Linux thereby still limiting files to 
2G-1

apps like samba, pam and ftp does not yet support LFS but work is on the way towards 
achieving full LFS usability for all of userspace.

Release 7.0 of SuSE Linux supports LFS on all supported platforms. The kernel of SuSE 
7.0 is based on Linux 2.2.16. 
The LFS support in the SuSE Linux kernel is the same as in the development kernel 
2.4.0-test1 for the file systems which are in both kernels, glibc supports all the 
features of the kernel. The different filesystems are ReiserFS (so far only in SuSE, 
the 2.2 port doesn't support LFS) and NFSv3 (not available in SuSE 7.0). This means 
that you need to use ext2 as file system for LFS. 

Release 7.1 of SuSE Linux supports LFS on all supported platforms. SuSE 7.1 comes with 
kernels based on 2.4.0 and 2.2.18. 
The 2.2.18 kernel support LFS with the ext2 file system. The 2.4.0 kernel supports LFS 
with the ext2 and NFSv3 filesystems and additionally with the ReiserFS filesystem if 
the new ReiserFS format (incompatible to the 2.2 format) is used instead of the 
default 2.2 format. SuSE 7.1 comes with glibc 2.2 that supports the full LFS 
interface. But the 2.2.18 kernel only does not support the 64-bit filelocking and the 
getdents64 calls.

Overall, SuSE 7.1, Admulinux 2.0, Redhat7(?) and other newer distros are the best 
sources of LFS.

hth,

----------------------------------------
Louie Perens     SuSE- The Linux Experts
Project Maintainer, Enterprise HA-S/390
-----------------------------------------


 
--

On Sat, 21 Apr 2001 02:11:18   Pablo Manalastas wrote:
>
>On Thu, 19 Apr 2001, Andre John Cruz wrote:
>
>> is there any way to beat the 2GB file size limit on Linux?
>> I wonder if kernel 2.4 has mechanisms for this.
>
>Use linux-2.4.X kernel and glibc-2.2.X.  Including <stdio.h>
>and defining __USE_LARGEFILE64 gives you the 64bit functions
>fseeko64(), fgetpos64(), and fsetpos64().
>
>The new distributions (including AdmuLinux 2.0) have these
>new features.
>
>PManalastas
>
>



Join 18 million Eudora users by signing up for a free Eudora Web-Mail account at 
http://www.eudoramail.com
_
Philippine Linux Users Group. Web site and archives at http://plug.linux.org.ph
To leave: send "unsubscribe" in the body to [EMAIL PROTECTED]

To subscribe to the Linux Newbies' List: send "subscribe" in the body to 
[EMAIL PROTECTED]

Reply via email to