)]}'
{
  "commit": "4fcc712f5c48b1e32cdbf9b9cfba42a27b2e3160",
  "tree": "56ffa400b048d639e67b3c239a23d1e09a86ae76",
  "parents": [
    "bba00e59107275faa615573c44eb0a513a1220a6"
  ],
  "author": {
    "name": "Kent Overstreet",
    "email": "koverstreet@google.com",
    "time": "Wed Jun 12 14:04:59 2013 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Wed Jun 12 16:29:46 2013 -0700"
  },
  "message": "aio: fix io_destroy() regression by using call_rcu()\n\nThere was a regression introduced by 36f5588905c1 (\"aio: refcounting\ncleanup\"), reported by Jens Axboe - the refcounting cleanup switched to\nusing RCU in the shutdown path, but the synchronize_rcu() was done in\nthe context of the io_destroy() syscall greatly increasing the time it\ncould block.\n\nThis patch switches it to call_rcu() and makes shutdown asynchronous\n(more asynchronous than it was originally; before the refcount changes\nio_destroy() would still wait on pending kiocbs).\n\nNote that there\u0027s a global quota on the max outstanding kiocbs, and that\nquota must be manipulated synchronously; otherwise io_setup() could\nreturn -EAGAIN when there isn\u0027t quota available, and userspace won\u0027t\nhave any way of waiting until shutdown of the old kioctxs has finished\n(besides busy looping).\n\nSo we release our quota before kioctx shutdown has finished, which\nshould be fine since the quota never corresponded to anything real\nanyways.\n\nSigned-off-by: Kent Overstreet \u003ckoverstreet@google.com\u003e\nCc: Zach Brown \u003czab@redhat.com\u003e\nCc: Felipe Balbi \u003cbalbi@ti.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReported-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nTested-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nCc: Selvan Mani \u003csmani@micron.com\u003e\nCc: Sam Bradshaw \u003csbradshaw@micron.com\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nTested-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7fe5bdee1630ec7fc89d3bc5d598d427f85e75df",
      "old_mode": 33188,
      "old_path": "fs/aio.c",
      "new_id": "2bbcacf74d0c64f8814cb68d8c4eff423dfe98d4",
      "new_mode": 33188,
      "new_path": "fs/aio.c"
    }
  ]
}
