NFSv4: Always set NLINK even if the server doesn't support it
authorHan Young <hanyang.tony@bytedance.com>
Sun, 4 May 2025 12:57:04 +0000 (20:57 +0800)
committerAnna Schumaker <anna.schumaker@oracle.com>
Wed, 28 May 2025 21:17:13 +0000 (17:17 -0400)
commit3a3065352f73381d3a1aa0ccab44aec3a5a9b365
tree5df34b771f501d108fe152e5f932cc97f03e4380
parent77be29b7a3f896bd96808ba6781481a1f6afa66c
NFSv4: Always set NLINK even if the server doesn't support it

fattr4_numlinks is a recommended attribute, so the client should emulate
it even if the server doesn't support it. In decode_attr_nlink function
in nfs4xdr.c, nlink is initialized to 1. However, this default value
isn't set to the inode due to the check in nfs_fhget.

So if the server doesn't support numlinks, inode's nlink will be zero,
the mount will fail with error "Stale file handle". Set the nlink to 1
if the server doesn't support it.

Signed-off-by: Han Young <hanyang.tony@bytedance.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
fs/nfs/inode.c