diff options
author | Chandra Seetharaman <sekharan@us.ibm.com> | 2009-06-26 19:30:06 -0700 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-08-22 17:51:51 -0500 |
commit | 6c10db72c94818573552fd71c89540da325efdfb (patch) | |
tree | 6afa9b0431d22638a1a11dfe3c5924b8e1a8e2f3 /include/scsi | |
parent | b4567ca6304a9b31cb2eae62f812e9eb9badcb60 (diff) | |
download | linux-6c10db72c94818573552fd71c89540da325efdfb.tar.gz linux-6c10db72c94818573552fd71c89540da325efdfb.tar.bz2 linux-6c10db72c94818573552fd71c89540da325efdfb.zip |
[SCSI] scsi_dh: Reference count scsi_dh_attach
Problem reported: http://marc.info/?l=dm-devel&m=124585978305866&w=2
scsi_dh does not do a refernce count for attach/detach, and this affects
the way it is supposed to work with multipath when a device is not
in the dev_list of the hardware handler.
This patch adds a reference count that counts each attach.
Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/scsi_device.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index 3f566af3f101..1f3a4c8044c0 100644 --- a/include/scsi/scsi_device.h +++ b/include/scsi/scsi_device.h @@ -191,6 +191,8 @@ struct scsi_device_handler { struct scsi_dh_data { struct scsi_device_handler *scsi_dh; + struct scsi_device *sdev; + struct kref kref; char buf[0]; }; |