)]}'
{
  "commit": "fba822722e3f9d438fca8fd9541d7ddd447d7a48",
  "tree": "05fc35428f61fb6b66726e3aae03ce9187212c21",
  "parents": [
    "a9a5cd5d2a57fb76dbae2115450f777b69beccf7"
  ],
  "author": {
    "name": "OGAWA Hirofumi",
    "email": "hirofumi@mail.parknet.co.jp",
    "time": "Tue Apr 18 09:44:06 2006 +0200"
  },
  "committer": {
    "name": "Jens Axboe",
    "email": "axboe@suse.de",
    "time": "Tue Apr 18 09:44:06 2006 +0200"
  },
  "message": "[PATCH 1/2] iosched: fix typo and barrier()\n\nOn rmmod path, cfq/as waits to make sure all io-contexts was\nfreed. However, it\u0027s using complete(), not wait_for_completion().\n\nI think barrier() is not enough in here. To avoid the following case,\nthis patch replaces barrier() with smb_wmb().\n\n\tcpu0\t\t\tvisibility\t\t\tcpu1\n\t                [ioc_gnone\u003dNULL,ioc_count\u003d1]\n\nioc_gnone \u003d \u0026all_gone\t\tNULL,ioc_count\u003d1\natomic_read(\u0026ioc_count)\t\tNULL,ioc_count\u003d1\nwait_for_completion()\t\tNULL,ioc_count\u003d0\tatomic_sub_and_test()\n\t\t\t\tNULL,ioc_count\u003d0\tif ( \u0026\u0026 ioc_gone)\n\t\t\t\t\t\t    [ioc_gone\u003d\u003dNULL,\n\t\t\t\t\t\t    so doesn\u0027t call complete()]\n\t\t\t   \u0026all_gone,ioc_count\u003d0\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "296708ceceb2d62a8bacd8a954efeb1108d5547e",
      "old_mode": 33188,
      "old_path": "block/as-iosched.c",
      "new_id": "e25a5d79ab2715b2f3a07ce3331e46cd45ab86f1",
      "new_mode": 33188,
      "new_path": "block/as-iosched.c"
    },
    {
      "type": "modify",
      "old_id": "67d446de0227a3ac71aaa1563728717a21af5eb9",
      "old_mode": 33188,
      "old_path": "block/cfq-iosched.c",
      "new_id": "01820b1094e9f4ee8461c2bcb8f5e73625e44636",
      "new_mode": 33188,
      "new_path": "block/cfq-iosched.c"
    }
  ]
}
