)]}'
{
  "commit": "282029c005e65ffdce3aa9f8220f88a8bbbc4dae",
  "tree": "48d488d453def3bd1c408aed1bd4bb4e18115b4c",
  "parents": [
    "3a198886ab5f228fcbebb9ace803d8b99721d49a"
  ],
  "author": {
    "name": "Dan Williams",
    "email": "dan.j.williams@intel.com",
    "time": "Fri Apr 06 13:41:15 2012 -0700"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@linuxfoundation.org",
    "time": "Tue Apr 10 14:48:51 2012 -0700"
  },
  "message": "kobject: provide more diagnostic info for kobject_add_internal() failures\n\n1/ convert open-coded KERN_ERR+dump_stack() to WARN(), so that automated\n   tools pick up this warning.\n\n2/ include the \u0027child\u0027 and \u0027parent\u0027 kobject names.  This information was\n   useful for tracking down the case where scsi invoked device_del() on a\n   parent object and subsequently invoked device_add() on a child.  Now the\n   warning looks like:\n\n     kobject_add_internal failed for target8:0:16 (error: -2 parent: end_device-8:0:24)\n     Pid: 2942, comm: scsi_scan_8 Not tainted 3.3.0-rc7-isci+ #2\n     Call Trace:\n      [\u003cffffffff8125e551\u003e] kobject_add_internal+0x1c1/0x1f3\n      [\u003cffffffff81075149\u003e] ? trace_hardirqs_on+0xd/0xf\n      [\u003cffffffff8125e659\u003e] kobject_add_varg+0x41/0x50\n      [\u003cffffffff8125e723\u003e] kobject_add+0x64/0x66\n      [\u003cffffffff8131124b\u003e] device_add+0x12d/0x63a\n      [\u003cffffffff8125e0ef\u003e] ? kobject_put+0x4c/0x50\n      [\u003cffffffff8132f370\u003e] scsi_sysfs_add_sdev+0x4e/0x28a\n      [\u003cffffffff8132dce3\u003e] do_scan_async+0x9c/0x145\n\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: James Bottomley \u003cJBottomley@parallels.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "21dee7c19afd8e9c493bec8585869f098545f4ff",
      "old_mode": 33188,
      "old_path": "lib/kobject.c",
      "new_id": "aeefa8bc8b1c2dac1493703ff2f209ce894938f9",
      "new_mode": 33188,
      "new_path": "lib/kobject.c"
    }
  ]
}
