)]}'
{
  "commit": "8fed43684174b68f04d01d1210fd00536af790df",
  "tree": "df8d5f87c68526267d0ae320173814ed3f417fd5",
  "parents": [
    "d3dd7107f4d843d0f01d0f77d49a7c5449130577"
  ],
  "author": {
    "name": "Bartlomiej Zolnierkiewicz",
    "email": "bzolnier@gmail.com",
    "time": "Wed Feb 25 20:28:24 2009 +0100"
  },
  "committer": {
    "name": "Bartlomiej Zolnierkiewicz",
    "email": "bzolnier@gmail.com",
    "time": "Wed Feb 25 20:28:24 2009 +0100"
  },
  "message": "ide: fix refcounting in device drivers\n\nDuring host driver module removal del_gendisk() results in a final\nput on drive-\u003egendev and freeing the drive by drive_release_dev().\n\nConvert device drivers from using struct kref to use struct device\nso device driver\u0027s object holds reference on -\u003egendev and prevents\ndrive from prematurely going away.\n\nAlso fix -\u003eremove methods to not erroneously drop reference on a\nhost driver by using only put_device() instead of ide*_put().\n\nReported-by: Stanislaw Gruszka \u003cstf_xl@wp.pl\u003e\nTested-by: Stanislaw Gruszka \u003cstf_xl@wp.pl\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "690475b834deff18c251ca1bf294d049a50451dc",
      "old_mode": 33188,
      "old_path": "drivers/ide/ide-cd.c",
      "new_id": "ddfbea41d296a738a1efb5ace07b22b9a7dff2ad",
      "new_mode": 33188,
      "new_path": "drivers/ide/ide-cd.c"
    },
    {
      "type": "modify",
      "old_id": "ac40d6cb90a240725ae40d661e428e27ebc36aef",
      "old_mode": 33188,
      "old_path": "drivers/ide/ide-cd.h",
      "new_id": "c878bfcf111698430e8f870c0ccbc4e12b6e71ca",
      "new_mode": 33188,
      "new_path": "drivers/ide/ide-cd.h"
    },
    {
      "type": "modify",
      "old_id": "7857b209c6df7616397e9a1e20a621807729f83e",
      "old_mode": 33188,
      "old_path": "drivers/ide/ide-gd.c",
      "new_id": "047109419902c0ad6b3f741e68fdaab0e05a1069",
      "new_mode": 33188,
      "new_path": "drivers/ide/ide-gd.c"
    },
    {
      "type": "modify",
      "old_id": "a86779f0756b7c117ece8a93c3acaa649c6dd9d9",
      "old_mode": 33188,
      "old_path": "drivers/ide/ide-gd.h",
      "new_id": "b604bdd318a1294a6e7cb8c9d2addcca68f8759d",
      "new_mode": 33188,
      "new_path": "drivers/ide/ide-gd.h"
    },
    {
      "type": "modify",
      "old_id": "d7ecd3c79757f036e0f9f5d083a63f31b64059b1",
      "old_mode": 33188,
      "old_path": "drivers/ide/ide-tape.c",
      "new_id": "bb450a7608c2fe9a8ef08f19b03d86ba980f3fde",
      "new_mode": 33188,
      "new_path": "drivers/ide/ide-tape.c"
    },
    {
      "type": "modify",
      "old_id": "194da5a4b0d683a0d0c42628c00f2c3459ac109d",
      "old_mode": 33188,
      "old_path": "include/linux/ide.h",
      "new_id": "fe235b65207ee74d43e74818d94bdaf6759816d5",
      "new_mode": 33188,
      "new_path": "include/linux/ide.h"
    }
  ]
}
