)]}'
{
  "commit": "c284de61db31669cce547ffc99efda971146719d",
  "tree": "d4b05dd00d1e33dd34917f3d2a9476f69ca9ac99",
  "parents": [
    "603320239fb436f175c8b6bfa43d5023c47a6dc2"
  ],
  "author": {
    "name": "Artem Bityutskiy",
    "email": "Artem.Bityutskiy@nokia.com",
    "time": "Sun Jul 25 14:29:25 2010 +0300"
  },
  "committer": {
    "name": "Jens Axboe",
    "email": "jaxboe@fusionio.com",
    "time": "Sat Aug 07 18:53:57 2010 +0200"
  },
  "message": "writeback: cleanup bdi_register\n\nThis patch makes sure we first initialize everything and set the BDI_registered\nflag, and only after this we add the bdi to \u0027bdi_list\u0027. Current code adds the\nbdi to the list too early, and as a result I the\n\nWARN(!test_bit(BDI_registered, \u0026bdi-\u003estate)\n\nin bdi forker is triggered. Also, it is in general good practice to make things\nvisible only when they are fully initialized.\n\nAlso, this patch does few micro clean-ups:\n1. Removes the \u0027exit\u0027 label which does not do anything, just returns. This\n   allows to get rid of few braces and \u0027ret\u0027 variable and make the code smaller.\n2. If \u0027kthread_run()\u0027 fails, remove the error code it returns, not hard-coded\n   \u0027-ENOMEM\u0027. Theoretically, some day \u0027kthread_run()\u0027 can return something\n   else. Also, in case of failure it is not necessary to set \u0027bdi-\u003ewb.task\u0027 to\n   NULL.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9008c4e207f66ca047d99bd86cb530157f7723a2",
      "old_mode": 33188,
      "old_path": "mm/backing-dev.c",
      "new_id": "0b8ee66993ddafeb3585a1bf231324ca7c9d0705",
      "new_mode": 33188,
      "new_path": "mm/backing-dev.c"
    }
  ]
}
