NFSv4 features that differentiate it from NFSv3
The subsections of this topic describe some major features of NFSv4, which differentiate NFSv4 from NFSv3.
Pseudo-root file system concept
A specific difference between NFSv3 and NFSv4 is the NFSv4 pseudo-root file system concept. There are different implementations in z/OS® NFS Server and Linux® NFS Server. The following example reflects the z/OS implementation, which is based on NFSv4 RFC-3550.
Server pseudo file system
NFSv4 servers avoid name space inconsistency by presenting all the exports within the framework of a single server name space. An NFSv4 client uses LOOKUP and READDIR operations to browse seamlessly from one export to another. Portions of the server name space that are not exported are bridged via a pseudo file system that provides a view of exported directories only. A pseudo file system has a unique ID and behaves like a normal, read only file system.
Based on the construction of the server's name space, it is possible that multiple pseudo file systems may exist. For example:
| File system | Meaning |
|---|---|
| /a | pseudo file system |
| /a/b | real file system (need to be exported) |
| /a/b/c | pseudo file system |
| /a/b/c/d | real file system (need to be exported) |
Therefore, each of the pseudo file systems are considered separate entities and have a unique ID.
Accessing symbolic links on z/OS with NFSv4
When you use an exports file with Security(EXPORTS) or Security(SAFEXP), both the initial path containing the symbolic link and the target path must be exported. If the symbolic link is not exported, the initial mount processing fails. After the symbolic link is discovered, the NFS client starts over with the mount emulation (lookup) processing using the target path name. If that path is not exported, then that mount processing fails. See APAR OA33155 for a detailed explanation.
NFSv4 and lock manager
With NFSv4, the lock manager is part of the NFSv4 protocol implementation. There is no extra lock manager as with earlier versions of NFS such as with NFSv3. This has an impact on NFS attribute settings and SOURCEVIPA settings. See Configuring the NFSv4 server on z/OS.