nfsd: add a nfserrno mapping for -E2BIG to nfserr_fbig
Subsystems (2)
PATCH 1/1 nfsd: add a nfserrno mapping for -E2BIG to nfserr_fbig
I saw this pop up with some pynfs testing:
[ 123.609992] nfsd: non-standard errno: -7
...and -7 is -E2BIG. I think what happened is that XFS returned -E2BIG due to some xattr operations with the ACL10 pynfs TEST (I guess it has limited xattr size?).
Add a better mapping for that error since it's possible that we'll need it. How about we convert it to NFSERR_FBIG? As Bruce points out, they both have "BIG" in the name so it must be good.
Also, turn the printk in this function into a WARN() so that we can get a bit more information about situations that don't have proper mappings.
--- fs/nfsd/nfsproc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
fs/nfsd/nfsproc.c +2 -1
@@ -717,6 +717,7 @@ nfserrno (int errno) { nfserr_noent, -ENOENT }, { nfserr_io, -EIO }, { nfserr_nxio, -ENXIO }, + { nfserr_fbig, -E2BIG }, { nfserr_acces, -EACCES }, { nfserr_exist, -EEXIST }, { nfserr_xdev, -EXDEV },
@@ -751,7 +752,7 @@ nfserrno (int errno)if (nfs_errtbl[i].syserr == errno)return nfs_errtbl[i].nfserr; } -printk (KERN_INFO "nfsd: non-standard errno: %d\n" , errno); +WARN (1 ,"nfsd: non-standard errno: %d\n" , errno);return nfserr_io; }
Signature · 1 line
1.9.3
J. Bruce Fields
AppliedThanks, applied.--b.
Quoted 44 lines · Jeff Layton
I saw this pop up with some pynfs testing:
[ 123.609992] nfsd: non-standard errno: -7...and -7 is
-E2BIG. I think what happened is that XFS returned-E2BIGdue to some xattr operations with the ACL10 pynfs TEST (I guess it has limited xattr size?).Add a better mapping for that error since it's possible that we'll need it. How about we convert it to
NFSERR_FBIG? As Bruce points out, they both have "BIG" in the name so it must be good.Also, turn the printk in this function into a
WARN()so that we can get a bit more information about situations that don't have proper mappings.Signed-off-by Jeff Layton <[email protected]>--- fs/nfsd/nfsproc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)fs/nfsd/nfsproc.c +2
-1@@ -717,6 +717,7 @@ nfserrno (int errno) { nfserr_noent, -ENOENT }, { nfserr_io, -EIO }, { nfserr_nxio, -ENXIO }, + { nfserr_fbig, -E2BIG }, { nfserr_acces, -EACCES }, { nfserr_exist, -EEXIST }, { nfserr_xdev, -EXDEV },@@ -751,7 +752,7 @@ nfserrno (int errno)if (nfs_errtbl[i].syserr == errno)return nfs_errtbl[i].nfserr; } -printk (KERN_INFO "nfsd: non-standard errno: %d\n" , errno); +WARN (1 ,"nfsd: non-standard errno: %d\n" , errno);return nfserr_io; }Signature · 1 line
1.9.3