PowerScale: Able To Mount Unexported Directories Using NFSv4
Summary: Using NFSv4 to mount a subdirectory of an exported directory, the operation succeeds even if the subdirectory has not been exported.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
Using NFSv4 to mount a subdirectory of an exported directory, the operation succeeds even if the subdirectory has not been exported.
In this case, no files or unexported directories are visible in the mounted directory.
Whereas if NFSv3 is used to mount same directory, the mount operation fails.
- Example: NFS export - there is no NFS export with "All Dirs" = "Yes"
eight000-1# isi nfs exports list ID Zone Paths Description ---------------------------------------- 2 System /ifs/data/test1 - ---------------------------------------- Total: 1 eight000-1# eight000-1# isi nfs exports view --id=2 | grep All All Dirs: No eight000-1#
Note: "All Dirs" is set to "Yes" on the default NFS export for /ifs (ID: 1)
- Example: Mount using NFSv3
[root@localhost ~]# mount -t nfs -o vers=3,tcp 192.168.126.35:/ifs/data /mnt mount.nfs: access denied by server while mounting 192.168.126.35:/ifs/data [root@localhost ~]#
- Example: Mount using NFSv4
[root@localhost ~]# mount -t nfs -o vers=4,tcp 192.168.126.35:/ifs/data /mnt [root@localhost ~]# mount [root@localhost ~]# ls /mnt test1 [root@localhost ~]#
Cause
In NFSv4, PUTROOTFH always puts the file handle for "/"
NFSv4 client mounts "/" using PUTROOTFH and browses to the directory using "LOOKUP"
- NFSv4 example 1: Mounting upper directory of exported directory
Operation from NFS client:
[root@localhost ~]# mount -t nfs -o vers=4,tcp 192.168.126.35:/ifs/data /mnt
Captured packet between NFS client and Isilon:
33 2.718195 192.168.126.128 -> 192.168.126.35 NFS 194 V4 Call PUTROOTFH | GETATTR 34 2.718861 192.168.126.35 -> 192.168.126.128 NFS 334 V4 Reply (Call In 33) PUTROOTFH | GETATTR 51 2.725705 192.168.126.128 -> 192.168.126.35 NFS 266 V4 Call LOOKUP DH: 0xe1b0fb3e/ifs 52 2.726191 192.168.126.35 -> 192.168.126.128 NFS 342 V4 Reply (Call In 51) LOOKUP 53 2.726349 192.168.126.128 -> 192.168.126.35 NFS 266 V4 Call LOOKUP DH: 0xe1b0fb3e/ifs 54 2.726801 192.168.126.35 -> 192.168.126.128 NFS 342 V4 Reply (Call In 53) LOOKUP 67 2.732652 192.168.126.128 -> 192.168.126.35 NFS 266 V4 Call LOOKUP DH: 0x3395f6e0/data 68 2.733601 192.168.126.35 -> 192.168.126.128 NFS 342 V4 Reply (Call In 67) LOOKUP
- NFSv4 example 2: Mounting exported directory
Operation from NFS client:
[root@localhost ~]# mount -t nfs -o vers=4,tcp 192.168.126.35:/ifs/data/test1 /mnt
Captured packet between NFS client and Isilon:
33 5.097422 192.168.126.128 -> 192.168.126.35 NFS 194 V4 Call PUTROOTFH | GETATTR 34 5.098081 192.168.126.35 -> 192.168.126.128 NFS 334 V4 Reply (Call In 33) PUTROOTFH | GETATTR 51 5.106704 192.168.126.128 -> 192.168.126.35 NFS 266 V4 Call LOOKUP DH: 0xe1b0fb3e/ifs 52 5.107646 192.168.126.35 -> 192.168.126.128 NFS 342 V4 Reply (Call In 51) LOOKUP 53 5.107863 192.168.126.128 -> 192.168.126.35 NFS 266 V4 Call LOOKUP DH: 0xe1b0fb3e/ifs 54 5.108872 192.168.126.35 -> 192.168.126.128 NFS 342 V4 Reply (Call In 53) LOOKUP 67 5.115206 192.168.126.128 -> 192.168.126.35 NFS 266 V4 Call LOOKUP DH: 0x3395f6e0/data 68 5.115846 192.168.126.35 -> 192.168.126.128 NFS 342 V4 Reply (Call In 67) LOOKUP 71 5.117255 192.168.126.128 -> 192.168.126.35 NFS 270 V4 Call LOOKUP DH: 0x66745511/test1 72 5.118596 192.168.126.35 -> 192.168.126.128 NFS 358 V4 Reply (Call In 71) LOOKUP 73 5.155735 192.168.126.128 -> 192.168.126.35 NFS 270 V4 Call LOOKUP DH: 0x66745511/test1 74 5.156430 192.168.126.35 -> 192.168.126.128 NFS 358 V4 Reply (Call In 73) LOOKUP
For NFSv3, the client tries to mount the directory directly using MNT.
- NFSv3 example 1: Mounting subdirectory of exported directory
Operation from NFS client:
[root@localhost ~]# mount -t nfs -o vers=3,tcp 192.168.126.35:/ifs/data /mnt mount.nfs: access denied by server while mounting 192.168.126.35:/ifs/data [root@localhost ~]#
Captured packet between NFS client and Isilon:
168 16.664699 192.168.126.128 -> 192.168.126.35 MOUNT 174 V3 MNT Call /ifs/data 169 16.665831 192.168.126.35 -> 192.168.126.128 MOUNT 98 V3 MNT Reply (Call In 168) Error:ERR_ACCESS
- NFSv3 example 2: Mounting exported directory
Operation from NFS client:
[root@localhost ~]# mount -t nfs -o vers=3,tcp 192.168.126.35:/ifs/data/test1 /mnt [root@localhost ~]#
Captured packet between NFS client and Isilon:
225 20.199349 192.168.126.128 -> 192.168.126.35 MOUNT 178 V3 MNT Call /ifs/data/test1 226 20.200575 192.168.126.35 -> 192.168.126.128 MOUNT 142 V3 MNT Reply (Call In 225)
Resolution
This is an expected behavior for NFSv4 because of the pseudo file system implementation of the protocol.
This is discussed in RFC 3530/7530.
This is discussed in RFC 3530/7530.
Affected Products
PowerScale OneFSProducts
PowerScale OneFSArticle Properties
Article Number: 000018153
Article Type: Solution
Last Modified: 27 Nov 2025
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.