)]}'
{
  "commit": "0ef17e460fcf3c258aaad1099eea9ff5a711887d",
  "tree": "3107bc7710ad61ac12bd17d0c38eac1e9967b2c3",
  "parents": [
    "921791a9cac7ac65e8d6c248eb6452df5414d9cc"
  ],
  "author": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Tue Jun 09 15:42:47 2026 +0100"
  },
  "committer": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Tue Jun 16 09:50:27 2026 +0100"
  },
  "message": "afs: Fix bulk lookup malfunction due to change in dir_emit() API\n\nafs_do_lookup() and afs_do_lookup_one() use the same directory parsing code\nas afs_readdir() and were supplying alternative dir_context actors to\nretrieve dirents, but because lookup needs the vnode\u0027s uniquifier as part\nof the reference, but not the DT flags, the uniquifier was being passed in\nthe dt flags argument to the lookup actors.\n\nUnfortunately, commit c644bce62b9c, added to fix overlayfs with fuse, broke\nthis by masking off part of the uniquifier.  This doesn\u0027t matter enough to\nbe directly noticeable, instead causing bulk advance inode lookups to fail\n(which are retried later) and may cause dir revalidation to malfunction if\nthe uniquifier is changed by masking.\n\nFix this by making the afs directory parsing code take special -\u003eactor\nvalues of AFS_LOOKUP or AFS_LOOKUP_ONE instead that tell it to call\nafs_lookup_filldir() or afs_lookup_one_filldir() directly rather than going\nthrough dir_emit().  dir_emit() is still used for readdir.\n\nFixes: c644bce62b9c (\"readdir: require opt-in for d_type flags\")\nReported-by: Marc Dionne \u003cmarc.dionne@auristor.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: Amir Goldstein \u003camir73il@gmail.com\u003e\ncc: linux-afs@lists.infradead.org\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "498b99ccdf0e2786999cd5f8e902a086312cf689",
      "old_mode": 33188,
      "old_path": "fs/afs/dir.c",
      "new_id": "7af36370ccb4f6f799cadd6dd21b5ff416e4aee0",
      "new_mode": 33188,
      "new_path": "fs/afs/dir.c"
    }
  ]
}
