)]}'
{
  "commit": "6d13b7f74eec16e08d5e7f772ee119432a14ef2c",
  "tree": "47f00ae43c0b8f90a89e8014215f84a31d720076",
  "parents": [
    "56d3a2eced4f47af34c260f0caeb182373862901"
  ],
  "author": {
    "name": "Chuck Lever",
    "email": "cel@kernel.org",
    "time": "Thu Oct 22 09:53:41 2026 -0400"
  },
  "committer": {
    "name": "Chuck Lever",
    "email": "cel@kernel.org",
    "time": "Thu Oct 22 17:09:31 2026 -0400"
  },
  "message": "NFSD: Map every NFS_ACLv2 reply status into aclstat2\n\nnfsacld_map_status() translates only the three fh_verify() statuses\nthat have no NFSv2 equivalent, so every other status reaches the\nencoder unchanged. fh_verify() returns nfserr_perm for a request from\nan insecure port, and both it and fh_getattr() pass errno values\nthrough nfserrno(), which yields nfserr_jukebox for ENOMEM, EAGAIN,\nand ETIMEDOUT and nfserr_serverfault for an errno its table does not\nlist. NFS_ACL version 2 shares its status space with NFSv2, so 10008\nand 10006 are values an NFS_ACLv2 client cannot interpret.\ndraft-ietf-nfsv4-nfs-acl Section 5.1.5 lists the status values an\nNFS_ACLv2 server returns, and these are not among them.\n\nPass through the statuses that are members of aclstat2 and map the\nrest to ACL2ERR_IO, the status nfsacld_map_errno() already uses for\nan unlisted errno. Translate nfserr_notsupp to ACL2ERR_NOTSUPP, the\nstatus nfsacld_map_errno() returns for EOPNOTSUPP. The existing\nBADHANDLE, NOFILEHANDLE, and WRONGSEC translations are unchanged.\n\nLink: https://patch.msgid.link/20261022135341.14265-18-cel@kernel.org\nSigned-off-by: Chuck Lever \u003ccel@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a805d2ac76dbd8b9da5b0ee1c378a3bb0cc352f5",
      "old_mode": 33188,
      "old_path": "fs/nfsd/nfs2acl.c",
      "new_id": "b4ab0bb1808d64ffc1c45b505037427adf0b0a1d",
      "new_mode": 33188,
      "new_path": "fs/nfsd/nfs2acl.c"
    }
  ]
}
