Regardless of protocol settings, every filesystem must have a mountpoint. However, the way in
which these mountpoints are used depends on protocol.
Namespace NFSv2 / NFSv3
Under NFS, each filesystem is a unique export made visible via the MOUNT protocol. NFSv2 and
NFSv3 have no way to traverse nested filesystems, and each filesystem must be accessed by its full
path. While nested mountpoints are still functional, attempts to cross a nested mountpoint will
result in an empty directory on the client. While this can be mitigated through the use of automount
mounts, transparent support of nested mountpoints in a dynamic environment requires NFSv4.
NFSv4 has several improvements over NFSv3 when dealing with mountpoints. First is that parent
directories can be mounted, even if there is no share available at that point in the hierarchy. For
example, if /export/home was shared, it is possible to mount
/export on the client and traverse into the actual exports transparently. More
significantly, some NFSv4 clients (including Linux) support automatic client-side mounts, sometimes
referred to as "mirror mounts". With such a client, when a user traverses a mountpoint, the child
filesystem is automatically mounted at the appropriate local mountpoint, and torn down when the
filesystem is unmounted on the client. From the server's perspective, these are separate mount
requests, but they are stitched together onto the client to form a seamless filesystem namespace.
The SMB protocol does not use mountpoints, as each share is made available by resource name.
However, each filesystem must still have a unique mountpoint. Nested mountpoints (multiple
filesystems within one resource) are not currently supported, and any attempt to traverse a
mountpoint will result in an empty directory.
Namespace FTP / FTPS / SFTP
Filesystems are exported using their standard mountpoint. Nested mountpoints are fully
supported and are transparent to the user. However, it is not possible to not share a nested
filesystem when its parent is shared. If a parent mountpoint is shared, then all children will be
shared as well.
Namespace HTTP / HTTPS
Filesystems are exported under the /shares directory, so a filesystem at
/export/home will appear at /shares/export/home over
HTTP/HTTPS. Nested mountpoints are fully supported and are transparent to the user. The same
behavior regarding conflicting share options described in the FTP protocol section also applies to