)]}'
{
  "commit": "408afb8d7847faea115508ba154346e33edfc7d5",
  "tree": "9b558f8477d7400ad5e8849c2624471915654ade",
  "parents": [
    "b058efc1acfd99027b4c70458e72c3d20a1a5bbc",
    "1da92779e2e8f309d5aecbbed346e7f812b174e8"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Mon Jun 04 13:57:43 2018 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Mon Jun 04 13:57:43 2018 -0700"
  },
  "message": "Merge branch \u0027work.aio-1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull aio updates from Al Viro:\n \"Majority of AIO stuff this cycle. aio-fsync and aio-poll, mostly.\n\n  The only thing I\u0027m holding back for a day or so is Adam\u0027s aio ioprio -\n  his last-minute fixup is trivial (missing stub in !CONFIG_BLOCK case),\n  but let it sit in -next for decency sake...\"\n\n* \u0027work.aio-1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)\n  aio: sanitize the limit checking in io_submit(2)\n  aio: fold do_io_submit() into callers\n  aio: shift copyin of iocb into io_submit_one()\n  aio_read_events_ring(): make a bit more readable\n  aio: all callers of aio_{read,write,fsync,poll} treat 0 and -EIOCBQUEUED the same way\n  aio: take list removal to (some) callers of aio_complete()\n  aio: add missing break for the IOCB_CMD_FDSYNC case\n  random: convert to -\u003epoll_mask\n  timerfd: convert to -\u003epoll_mask\n  eventfd: switch to -\u003epoll_mask\n  pipe: convert to -\u003epoll_mask\n  crypto: af_alg: convert to -\u003epoll_mask\n  net/rxrpc: convert to -\u003epoll_mask\n  net/iucv: convert to -\u003epoll_mask\n  net/phonet: convert to -\u003epoll_mask\n  net/nfc: convert to -\u003epoll_mask\n  net/caif: convert to -\u003epoll_mask\n  net/bluetooth: convert to -\u003epoll_mask\n  net/sctp: convert to -\u003epoll_mask\n  net/tipc: convert to -\u003epoll_mask\n  ...\n",
  "tree_diff": []
}
