Package: nfs-ganesha
Version: 9.6-1~bpo13+1
Severity: normal

Dear Maintainer,

I am experiencing an issue with NFSv4 ID mapping when serving shares using NFS-Ganesha 9.6 to clients running newer Linux kernels (specifically kernel versions 6.12 and 7.x, tested on Proxmox VE clients).

*** Symptoms ***
All files and directories owned by regular users (e.g., 'mgual') are displayed on the client side as being owned by UID/GID 65534 (nobody/nogroup). Interestingly, files owned by 'root' (UID 0) are mapped correctly as 0:0 on the client. Read and write operations work perfectly fine despite the visual UID/GID mismatc
h.

This issue does not occur when the client runs older kernels, or when using nfs-ganesha version 5.9-5 with client kernel 7.0.

*** Concrete Evidence / Command Output ***

1. On the NFS-Ganesha Server (Filesystem view):
The files are owned by user 'mgual' and group 'info':
----------------------------------------------------------------------
# find . -ls
2490382 126548 -rw-r--r--   1 mgual    info     129577718 Feb 27 2023 ./template/cache/ubuntu-22.10-standard_22.10-1_amd64.tar.zst 2490405 1479336 -rw-r--r--   1 root     root     1514835968 Nov 26 2025 ./template/iso/proxmox-backup-server_4.1-1.iso
----------------------------------------------------------------------

2. On the Client side (Kernel 7.x / PVE):
Files owned by root preserve their mapping (0:0), but files owned by regular users drop to UID/GID 65534:
----------------------------------------------------------------------
# ls -ln iso/
total 21851272
-rw-r--r-- 1 65534 65534  820611072 Apr 12  2023 AdobePro_2020.iso
-rw-r--r-- 1     0     0 1514835968 Nov 26  2025 proxmox-backup-server_4.1-1.iso
----------------------------------------------------------------------

*** Environment Info ***
- Server OS: Debian 12 (Bookworm)
- NFS-Ganesha Server Version: 9.6
- Working Client Combo: Kernel 7.0 with Ganesha 5.9
- Failing Client Combo: Kernel 6.12 / 7.x with Ganesha 9.6
- Protocol: NFSv4

It seems there is a regression or strict compatibility issue regarding how NFSv4 numeric IDs or text-based attributes (user@domain) are negotiated between NFS-Ganesha 9.6 and newer Linux kernel NFS clients.

Thank you for your help maintaining the package.



-- System Information:
Debian Release: 13.5
 APT prefers stable-updates
 APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.12.90+deb13-amd64 (SMP w/1 CPU thread; PREEMPT)
Locale: LANG=ca_ES.UTF-8, LC_CTYPE=ca_ES.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to ca_ES.UTF-8), LANGUAGE=ca_ES.UTF-8
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages nfs-ganesha depends on:
ii  dbus [default-dbus-system-bus]  1.16.2-2
ii  libacl1                         2.3.2-2+b1
ii  libblkid1                       2.41-5
ii  libc6                           2.41-12+deb13u3
ii  libcap2                         1:2.75-10+deb13u1+b1
ii  libcom-err2                     1.47.2-3+b11
ii  libdbus-1-3                     1.16.2-2
ii  libgcc-s1                       14.2.0-19
ii  libgssapi-krb5-2                1.21.3-5+deb13u1
ii  libkrb5-3                       1.21.3-5+deb13u1
ii  libnfsidmap1                    1:2.8.3-1
ii  libntirpc7.2                    7.2-2~bpo13+1
ii  libstdc++6                      14.2.0-19
ii  liburcu8t64                     0.15.2-2
ii  libuuid1                        2.41-5
ii  libwbclient0                    2:4.22.8+dfsg-0+deb13u2
ii  nfs-common                      1:2.8.3-1
ii  rpcbind                         1.2.7-1

nfs-ganesha recommends no packages.

nfs-ganesha suggests no packages.

-- Configuration Files:
/etc/ganesha/ganesha.conf changed:
NFS_CORE_PARAM {
   Protocols = 3,4;
}
EXPORT_DEFAULTS {
   Access_Type = RW;
   SecType = sys;
}
LOG {
   COMPONENTS {
       ALL = CRIT;
   }
}
MDCACHE {
   Entries_HWMark = 100000;
}
%include /etc/ganesha/vfs.conf

/etc/ganesha/vfs.conf
EXPORT
{
       # Export Id (mandatory, each EXPORT must have a unique Export_Id)
       Export_Id = 77;

       # Exported path (mandatory)
       Path = /srv/PVE;

       # Pseudo Path (required for NFS v4)
       Pseudo = /srv/PVE;

       # Required for access (default is None)
       # Could use CLIENT blocks instead
       Access_Type = RW;

       Squash = No_Root_Squash;           # Permitir root de clientes
       #mkdir -p /srv/PVE
       #chown nobody:nogroup /srv/PVE   # or set ownership as needed

       SecType = sys;

       # Exporting FSAL
       FSAL {
               Name = VFS;
       }
#       # CPD-AJT
#       CLIENT {
#               Clients = 172.20.10.0/24;      # Red de nodos Proxmox
#               Access_Type = RW;
#       }
#       #pve-pol-01 i pve-pol-02
#       CLIENT {
#               Clients = 172.20.15.51, 172.20.15.52;
#               Access_Type = RW;
#       }
#       # pve-urb-01 i pve-urb-02
#       CLIENT {
#               Clients = 172.20.16.51, 172.20.16.52;
#               Access_Type = RW;
#       }
#       # pve-sso-02
#       CLIENT {
#               Clients = 172.20.8.52;
#               Access_Type = RW;
#       }
#

}


-- no debconf information

Reply via email to