Skip to content

CSI NFS driver does not follow NFSv4 referrals inside PVC volumes #955

@karamav

Description

@karamav

Hello,
I have the following problem using the csi-driver-nfs driver 4.11.

PVC provisioning with the CSI NFS driver succeeds and the pod can read/write under /data.
However, directories that are NFSv4 referral junctions under the exported root (e.g. /data/nfs1, /data/nfs2) cannot be entered from inside the pod and return: No such file or directory.

The same export mounted natively on a Linux host using mount -t nfs4 correctly follows the referrals (entering /mnt/nfs/nfs1 and /mnt/nfs/nfs2 redirects to the backend servers and works).

What you expected to happen
When a volume is mounted by the CSI NFS driver from an NFSv4 proxy export, referral junctions under that export should be traversable from inside the pod just like they are with a native mount.nfs4.

How to reproduce it
There is one NFS proxy server (Linux kernel NFS server) which exports /nfs as the NFSv4 root export.
This proxy does not store data itself, but instead uses NFSv4 referrals to redirect clients to two backend NFS servers.

• NFS Proxy export (Linux kernel NFS server):

/nfs *(rw,fsid=0,no_subtree_check,no_root_squash,sec=sys)

• Create referrals:

nfsref add /nfs/nfs1 10.164.0.14 /nfs1
nfsref add /nfs/nfs2 10.164.0.15 /nfs2

• Sanity check on a VM (works):

mount -t nfs4 10.164.0.16:/ /mnt/nfs
ls /mnt/nfs/nfs1     # OK, redirected to backend 1
ls /mnt/nfs/nfs2     # OK, redirected to backend 2

Environment

  • CSI Driver version: 4.11
  • Kubernetes version: v1.30.14
  • OS: Ubuntu 24.04

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions