How to use NFS v4.2 user_xattr on Debian Linux

My mount command does not accept the user_xattr flag. Is my nfs-common not yet ready for it?

Mounting fails:

root@client:/# mount.nfs4 -vvvv nas:/tank /tank -o vers=4.2,user_xattr
mount.nfs4: timeout set for Wed Dec  2 17:41:51 2020
mount.nfs4: trying text-based options 'vers=4.2,user_xattr,addr=192.168.11.1,clientaddr=192.168.11.2'
mount.nfs4: mount(2): Invalid argument
mount.nfs4: an incorrect mount option was specified

Running (on client and NAS)

  • Linux client 5.9.0-3-amd64 #1 SMP Debian 5.9.9-1 (2020-11-19) x86_64 GNU/Linux
  • OS: Debian Linux bullseye/sid

Packages:

ii  nfs-common                                 1:1.3.4-4                         amd64        NFS support files common to client and server
ii  nfs-kernel-server                          1:1.3.4-4                         amd64        support for NFS kernel server

Sources:

  • https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.9-NFS-Client-Changes
  • https://lwn.net/Articles/799185/

You don't need any extra mount options to get xattrs to work (this is example on Fedora, but should be no difference)

# uname -a
Linux nairi 5.9.10-200.fc33.x86_64 #1 SMP Mon Nov 23 18:12:50 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
# mount -vvvv lab007:/ /mnt/
mount.nfs: timeout set for Thu Dec  3 09:03:35 2020
mount.nfs: trying text-based options 'vers=4.2,addr=a.b.c.d,clientaddr=a.b.c.d
# cd /mnt/exports/data
# attr -l .
Attribute "dcache.tag.foo-tag" has a 4 byte value for .
Attribute "dcache.tag.OSMTemplate" has a 15 byte value for .
Attribute "dcache.tag.sGroup" has a 5 byte value for .
# attr -g dcache.tag.sGroup .
"dcache.tag.sGroup" had a 5 byte value for .:
sla2

Make sure that exported file system supports xattr.