)]}'
{
  "commit": "73fd282e7b6dd4e4ea1c3bbb3d302c8db51e4ccf",
  "tree": "1338ebeba78a352f20904f9118f694c459599179",
  "parents": [
    "b321051cf48ccc2d3d832af111d688f2282f089b"
  ],
  "author": {
    "name": "Stefan Hajnoczi",
    "email": "stefanha@redhat.com",
    "time": "Thu Mar 05 17:08:04 2020 +0000"
  },
  "committer": {
    "name": "Stefan Hajnoczi",
    "email": "stefanha@redhat.com",
    "time": "Mon Mar 09 16:41:31 2020 +0000"
  },
  "message": "aio-posix: add io_uring fd monitoring implementation\n\nThe recent Linux io_uring API has several advantages over ppoll(2) and\nepoll(2).  Details are given in the source code.\n\nAdd an io_uring implementation and make it the default on Linux.\nPerformance is the same as with epoll(7) but later patches add\noptimizations that take advantage of io_uring.\n\nIt is necessary to change how aio_set_fd_handler() deals with deleting\nAioHandlers since removing monitored file descriptors is asynchronous in\nio_uring.  fdmon_io_uring_remove() marks the AioHandler deleted and\naio_set_fd_handler() will let it handle deletion in that case.\n\nSigned-off-by: Stefan Hajnoczi \u003cstefanha@redhat.com\u003e\nLink: https://lore.kernel.org/r/20200305170806.1313245-6-stefanha@redhat.com\nMessage-Id: \u003c20200305170806.1313245-6-stefanha@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cbf864bff1beb769d1927600dcb18d03dd327c2e",
      "old_mode": 33261,
      "old_path": "configure",
      "new_id": "3c7470096ffb4fc9b68475c2eb8b306027c8cf30",
      "new_mode": 33261,
      "new_path": "configure"
    },
    {
      "type": "modify",
      "old_id": "bd76b08f1a15493343d5edb03031327d872c2379",
      "old_mode": 33188,
      "old_path": "include/block/aio.h",
      "new_id": "83fc9b844dc97d0a6e91437c09d7605610dc9fee",
      "new_mode": 33188,
      "new_path": "include/block/aio.h"
    },
    {
      "type": "modify",
      "old_id": "6439077a68eff7d5b3b84757e3e7589c0f6322bc",
      "old_mode": 33188,
      "old_path": "util/Makefile.objs",
      "new_id": "6718a38b616d8bdba39241e942aa6dadaeb7b7ed",
      "new_mode": 33188,
      "new_path": "util/Makefile.objs"
    },
    {
      "type": "modify",
      "old_id": "028b2abded6322031c66efbffe3178a27fc60ad2",
      "old_mode": 33188,
      "old_path": "util/aio-posix.c",
      "new_id": "ffd9cc381bbe2473cb5b384b9347215bb8d7d24b",
      "new_mode": 33188,
      "new_path": "util/aio-posix.c"
    },
    {
      "type": "modify",
      "old_id": "97899d0fbc2ae3a4272b1e97da48c547c50c4446",
      "old_mode": 33188,
      "old_path": "util/aio-posix.h",
      "new_id": "55fc771327afb114aad721604c0be77c8aae67a6",
      "new_mode": 33188,
      "new_path": "util/aio-posix.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fb99b4b61e2d91853eb753707b8dee747bd10da6",
      "new_mode": 33188,
      "new_path": "util/fdmon-io_uring.c"
    }
  ]
}
