]> git.baikalelectronics.ru Git - kernel.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)
committerJames Bottomley <JBottomley@Parallels.com>
Sat, 15 Mar 2014 17:18:59 +0000 (10:18 -0700)
commit774ee68d2fc90bb8931dc8f36414fa9611c5b1f9
tree64f3dd3c794d009538993445d8039f04407dc593
parent8f9150e8e75d34daad542ee8ed2d61dced9a721c
[SCSI] fix our current target reap infrastructure

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>
Cc: stable@vger.kernel.org # delay backport by 2 months for field testing
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/scsi_scan.c
drivers/scsi/scsi_sysfs.c
include/scsi/scsi_device.h