NFSD: Map every NFS_ACLv2 reply status into aclstat2

nfsacld_map_status() translates only the three fh_verify() statuses
that have no NFSv2 equivalent, so every other status reaches the
encoder unchanged. fh_verify() returns nfserr_perm for a request from
an insecure port, and both it and fh_getattr() pass errno values
through nfserrno(), which yields nfserr_jukebox for ENOMEM, EAGAIN,
and ETIMEDOUT and nfserr_serverfault for an errno its table does not
list. NFS_ACL version 2 shares its status space with NFSv2, so 10008
and 10006 are values an NFS_ACLv2 client cannot interpret.
draft-ietf-nfsv4-nfs-acl Section 5.1.5 lists the status values an
NFS_ACLv2 server returns, and these are not among them.

Pass through the statuses that are members of aclstat2 and map the
rest to ACL2ERR_IO, the status nfsacld_map_errno() already uses for
an unlisted errno. Translate nfserr_notsupp to ACL2ERR_NOTSUPP, the
status nfsacld_map_errno() returns for EOPNOTSUPP. The existing
BADHANDLE, NOFILEHANDLE, and WRONGSEC translations are unchanged.

Link: https://patch.msgid.link/20261022135341.14265-18-cel@kernel.org
Signed-off-by: Chuck Lever <cel@kernel.org>
1 file changed