提交 62814d6a 编写于 作者: J Jeff Layton 提交者: J. Bruce Fields

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.
Signed-off-by: NJeff Layton <jlayton@primarydata.com>
Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
上级 722b620d
...@@ -717,6 +717,7 @@ nfserrno (int errno) ...@@ -717,6 +717,7 @@ nfserrno (int errno)
{ nfserr_noent, -ENOENT }, { nfserr_noent, -ENOENT },
{ nfserr_io, -EIO }, { nfserr_io, -EIO },
{ nfserr_nxio, -ENXIO }, { nfserr_nxio, -ENXIO },
{ nfserr_fbig, -E2BIG },
{ nfserr_acces, -EACCES }, { nfserr_acces, -EACCES },
{ nfserr_exist, -EEXIST }, { nfserr_exist, -EEXIST },
{ nfserr_xdev, -EXDEV }, { nfserr_xdev, -EXDEV },
...@@ -751,7 +752,7 @@ nfserrno (int errno) ...@@ -751,7 +752,7 @@ nfserrno (int errno)
if (nfs_errtbl[i].syserr == errno) if (nfs_errtbl[i].syserr == errno)
return nfs_errtbl[i].nfserr; 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; return nfserr_io;
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册