Environment
Novell Open Enterprise Server on Linux
RFC1813 - NFS Version 3 Protocol Specification
Novell Storage Servicess (NSS)
RFC1813 - NFS Version 3 Protocol Specification
Novell Storage Servicess (NSS)
Situation
NFS: readdir reply truncated
ls command at NFS client does not return all files in directory on NSS file system shared per NFS on SLES 9.
NSS Volume exported as NFS Share on OES Linux
Files are missing from an NSS volume exported as an NFS share
ls command at NFS client does not return all files in directory on NSS file system shared per NFS on SLES 9.
NSS Volume exported as NFS Share on OES Linux
Files are missing from an NSS volume exported as an NFS share
Resolution
Submitted a defect report to engineering.
Additional Information
To recreate the problem:
When the NFS client makes the first NFS READDIRPLUS procedure call to get the first entries of the directory, the NFS server returns the first entries and sets the 'eof' boolean at the end of its READDIRPLUS response to 'false', indicating that there are more entries in the directory. In return, the NFS client sends a next READDIRPLUS call with the 'cookie' field set to the cookie that the NFS server returned with the last entry in the previous READDIRPLUS reply. This cookie should reference the next entry in the directory. Instead of returning the next entries, the server returns no more entries, while the directory actually contains many more files. This problem only occurs with directories on NSS file systems.
Formerly known as TID# 10097804
- Create and mount an NSS Volume on OES Linux
- e.g. VOL1
- Export this as an NFS share as per the documentation
- e.g. (in /etc/exports) /media/nss/VOL1/ *(rw,no_root_squash,sync,fsid=5)
- Mount this share at a client
- e.g. mount -t nfs
/VOL1 /mnt
- e.g. mount -t nfs
/VOL1 /mnt
- Do a ls /mnt and only the first few entries are returned
When the NFS client makes the first NFS READDIRPLUS procedure call to get the first entries of the directory, the NFS server returns the first entries and sets the 'eof' boolean at the end of its READDIRPLUS response to 'false', indicating that there are more entries in the directory. In return, the NFS client sends a next READDIRPLUS call with the 'cookie' field set to the cookie that the NFS server returned with the last entry in the previous READDIRPLUS reply. This cookie should reference the next entry in the directory. Instead of returning the next entries, the server returns no more entries, while the directory actually contains many more files. This problem only occurs with directories on NSS file systems.
Formerly known as TID# 10097804