NFSv4: xattr handlers should check for absent nfs filehandles
[ Upstream commit 6e9a2f8d ] The nfs inodes for referral anchors that have not yet been followed have their filehandles zeroed out. Attempting to call getxattr() on one of these will cause the nfs client to send a GETATTR to the nfs server with the preceding PUTFH sans filehandle. The server will reply NFS4ERR_NOFILEHANDLE, leading to -EIO being returned to the application. For example: $ strace -e trace=getxattr getfattr -n system.nfs4_acl /mnt/t/ref getxattr("/mnt/t/ref", "system.nfs4_acl", NULL, 0) = -1 EIO (Input/output error) /mnt/t/ref: system.nfs4_acl: Input/output error +++ exited with 1 +++ Have the xattr handlers return -ENODATA instead. Signed-off-by:Scott Mayhew <smayhew@redhat.com> Signed-off-by:
Anna Schumaker <anna.schumaker@oracle.com> Signed-off-by:
Sasha Levin <sashal@kernel.org>
Loading