nfsd4: it's OK to return nfserr_symlink
authorJ. Bruce Fields <bfields@redhat.com>
Mon, 15 Aug 2011 22:39:32 +0000 (18:39 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 26 Aug 2011 22:22:50 +0000 (18:22 -0400)
commit75c096f753b273b59f1b9a0745e9e4b5d911a312
treee447160f8c299cbdc20718d56c8a995bc17dd381
parente281d8100995133dc65e00b1dec8f84b91b6e8c3
nfsd4: it's OK to return nfserr_symlink

The nfsd4 code has a bunch of special exceptions for error returns which
map nfserr_symlink to other errors.

In fact, the spec makes it clear that nfserr_symlink is to be preferred
over less specific errors where possible.

The patch that introduced it back in 2.6.4 is "kNFSd: correct symlink
related error returns.", which claims that these special exceptions are
represent an NFSv4 break from v2/v3 tradition--when in fact the symlink
error was introduced with v4.

I suspect what happened was pynfs tests were written that were overly
faithful to the (known-incomplete) rfc3530 error return lists, and then
code was fixed up mindlessly to make the tests pass.

Delete these unnecessary exceptions.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4proc.c
fs/nfsd/nfs4state.c
fs/nfsd/nfs4xdr.c