)]}'
{
  "commit": "de12c3391bce10504c0e7bd767516c74110cfce1",
  "tree": "6434fad961912914e5213298f50d4f77cb2f9694",
  "parents": [
    "88a2f6468d013ca1163490dbddfc95135d1c27a1"
  ],
  "author": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Fri May 31 16:34:25 2024 -0400"
  },
  "committer": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Mon Aug 12 22:01:15 2024 -0400"
  },
  "message": "add struct fd constructors, get rid of __to_fd()\n\n\tMake __fdget() et.al. return struct fd directly.\nNew helpers: BORROWED_FD(file) and CLONED_FD(file), for\nborrowed and cloned file references resp.\n\n\tNOTE: this might need tuning; in particular, inline on\n__fget_light() is there to keep the code generation same as\nbefore - we probably want to keep it inlined in fdget() et.al.\n(especially so in fdget_pos()), but that needs profiling.\n\nReviewed-by: Christian Brauner \u003cbrauner@kernel.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a3b72aa64f1164380fdaa6524081a4ac956831da",
      "old_mode": 33188,
      "old_path": "fs/file.c",
      "new_id": "6f5ed4daafd28f64dea8340b514cbbf0815527b9",
      "new_mode": 33188,
      "new_path": "fs/file.c"
    },
    {
      "type": "modify",
      "old_id": "eb28469b1c161204b4eccf8568fc967fc8e940e2",
      "old_mode": 33188,
      "old_path": "include/linux/file.h",
      "new_id": "aab1caff671348407673bd49d0cc95d88ff64dd3",
      "new_mode": 33188,
      "new_path": "include/linux/file.h"
    }
  ]
}
