NFS V3.0 supports files that are bigger than 2 Gbytes (large files) and file systems that are bigger than 2 Gbytes (large file systems), i.e. file sizes and file offsets are 64-bit values.
It is possible to set up large file systems locally and make them available to NFS clients.
Support for large files covers all accesses where file areas are addressed: reading, writing, querying and changing the file size, as well as setting file locks.
Accesses to NFS files are always initiated by the NFS client and performed by the NFS server. If both the client and server support large files, large files can be processed without restriction. However, problems arise if either the client or the server does not support large files.
Below is a description of the behavior shown when different operating system versions and NFS versions are implemented. The behavior described here may deviate from the behavior of systems with different implementations (e.g. systems from other manufacturers).
32-bit clients and 64-bit servers
If a 64-bit server is serving 32-bit clients, the client may not be able to interpret certain file or file system parameters, e.g. the size of a file. System calls from the client may fail in such cases.
Exception:
All clients for which a large file system is provided are normally permitted to mount this, regardless of whether the file system parameters can be displayed on the clients or not.
Behavior with respect to clients with NFS protocol version 2
If POSIX provides a large file system for NFS clients, protocol version 2 clients are also permitted to mount this file system. The file system parameters (number of blocks, etc.) are displayed correctly up to a file system size of 1 Tbyte. However, the server will reject all client accesses to large files, because the client cannot display the file size in 32-bit representation.
Behavior with respect to clients with NFS protocol version 3
If NFS protocol version 3 is used, the server cannot distinguish between 32-bit and 64-bit clients. It is therefore up to the 32-bit client to decide how to behave in relation to file or file system parameters that cannot be displayed in 32-bit representation. Normally, the client will allow a system call to fail if the result parameters cannot be expressed in 32-bit notation.