Commit 6e9a2f8
NFSv4: xattr handlers should check for absent nfs filehandles
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 <[email protected]>
Signed-off-by: Anna Schumaker <[email protected]>1 parent e529663 commit 6e9a2f8
1 file changed
+5
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6211 | 6211 | | |
6212 | 6212 | | |
6213 | 6213 | | |
| 6214 | + | |
| 6215 | + | |
6214 | 6216 | | |
6215 | 6217 | | |
6216 | 6218 | | |
| |||
6285 | 6287 | | |
6286 | 6288 | | |
6287 | 6289 | | |
| 6290 | + | |
| 6291 | + | |
| 6292 | + | |
6288 | 6293 | | |
6289 | 6294 | | |
6290 | 6295 | | |
| |||
0 commit comments