]> git.karo-electronics.de Git - karo-tx-linux.git/commit
scsi: fix our current target reap infrastructure
authorJames Bottomley <JBottomley@Parallels.com>
Tue, 21 Jan 2014 15:00:50 +0000 (07:00 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 May 2014 20:20:27 +0000 (13:20 -0700)
commitbf1802de75b7e3aab950efde9efb61637e4f449f
treea8bda6235e2bbea9f3e722d9434179f9f95f4ab5
parent7261684765e4411dff5ec5ffbad52f5009a2941b
scsi: fix our current target reap infrastructure

commit e63ed0d7a98014fdfc2cfeb3f6dada313dcabb59 upstream.

This patch eliminates the reap_ref and replaces it with a proper kref.
On last put of this kref, the target is removed from visibility in
sysfs.  The final call to scsi_target_reap() for the device is done from
__scsi_remove_device() and only if the device was made visible.  This
ensures that the target disappears as soon as the last device is gone
rather than waiting until final release of the device (which is often
too long).

Reviewed-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/scsi_scan.c
drivers/scsi/scsi_sysfs.c
include/scsi/scsi_device.h