Skip to content

NFSv3 Dynamic Provisioning Fails: Subdirectory Mount Not Supported #994

@ston3lu

Description

@ston3lu

Summary

The driver claims to support NFSv3, but dynamic provisioning with NFSv3 fails due to a fundamental protocol limitation.

Problem

When using nfsvers=3 mount option, the driver attempts to mount subdirectories like:
mount -t nfs -o nfsvers=3 10.0.40.233:/x/pvc-8c532bdf-5405-4606-9021-0ef2abbbd32c /var/lib/kubelet/...

This always fails with:
mount.nfs: mounting 10.0.40.233:/x/pvc-8c532bdf-5405-4606-9021-0ef2abbbd32c failed, reason given by server: No such file or directory

Root Cause

NFSv3 protocol limitation: NFSv3 can only mount paths explicitly listed in /etc/exports. It cannot mount subdirectories of an exported path unless they are separately exported.

  • If /etc/exports only contains /x, NFSv3 cannot mount /x/pvc-xxx
  • NFSv4's pseudo-filesystem (with fsid=0) allows mounting subdirectories
  • The driver's current design relies on NFSv4 semantics

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