• Dan Williams's avatar
    kobject: provide more diagnostic info for kobject_add_internal() failures · 282029c0
    Dan Williams authored
    1/ convert open-coded KERN_ERR+dump_stack() to WARN(), so that automated
       tools pick up this warning.
    
    2/ include the 'child' and 'parent' kobject names.  This information was
       useful for tracking down the case where scsi invoked device_del() on a
       parent object and subsequently invoked device_add() on a child.  Now the
       warning looks like:
    
         kobject_add_internal failed for target8:0:16 (error: -2 parent: end_device-8:0:24)
         Pid: 2942, comm: scsi_scan_8 Not tainted 3.3.0-rc7-isci+ #2
         Call Trace:
          [<ffffffff8125e551>] kobject_add_internal+0x1c1/0x1f3
          [<ffffffff81075149>] ? trace_hardirqs_on+0xd/0xf
          [<ffffffff8125e659>] kobject_add_varg+0x41/0x50
          [<ffffffff8125e723>] kobject_add+0x64/0x66
          [<ffffffff8131124b>] device_add+0x12d/0x63a
          [<ffffffff8125e0ef>] ? kobject_put+0x4c/0x50
          [<ffffffff8132f370>] scsi_sysfs_add_sdev+0x4e/0x28a
          [<ffffffff8132dce3>] do_scan_async+0x9c/0x145
    
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: James Bottomley <JBottomley@parallels.com>
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    282029c0
kobject.c 23.2 KB