Large file support in SuSE Linux 7.0

Support knowledgebase (lfs70)
Applies to

SuSE Linux: Version 7.0
This article refers to an older version of SuSE Linux. Therefore some of the informations given in this article may be outdated or the article may contain stale links.

Request:

You want to use Large File Support (files > 2 GB) with SuSE Linux 7.0. You don't know what to do to use it.

Procedure:

Background:

64 bit systems like Alpha and IA64 don't have problems with large files but do support the new interfaces also. In this case the new interface is mainly an alias to the normal interface.

The LFS support is done by the Linux kernel and the GNU C library (aka glibc).

The support in the SuSE Linux kernel is the same as in the current development kernel 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) and NFSv3 (not available in SuSE Linux and AFAIK not completely working in 2.4.0-test1).

Restrictions:

We can separate two levels of LFS compliance in the file systems:
  1. Full support for files > 2GB and O_LARGEFILE
  2. Limited LFS support: it gives proper EINVAL/EFBIG/EOVERFLOW error messages when you try to use O_LARGEFILE or positions > 2GB.

NFS and ReiserFS lack both of these currently. At least the second level should be generally reachable, but is some work to audit all the weird file systems.

NFSv2 as currently used will not support (1), only NFSv3 can do this.

The only file system that supports (1) on both 2.2 and 2.4 is ext2. On 2.4 NFSv3 with an appropiate server and ReiserFS 3.6 will do, too. ReiserFS 3.5 as used in SuSE 7.0 currently does not support LFS.

When files > 2GB are created in ext2 older kernels will mount file systems only read-only (it sets a read-only compatibility flag).

64 bit inodes and 64 bit block sizes are also missing in the current kernel.

A complete documentation of the feature test macros like _FILE_OFFSET_BITS and _LARGEFILE_SOURCE is in the glibc manual (run e.g. "info libc 'Feature Test Macros'").

The LFS API is documented in the LFS standard which is available at http://ftp.sas.com/standards/large.file/x_open.20Mar96.html.


Keywords: LFS, LARGE, FILE, SUPPORT, 7.0

SDB-lfs70, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 01. Sep 2000
SuSE Linux AG - Last generated: 01. Sep 2000 by snbarth (sdb_gen 1.40.0)