summaryrefslogtreecommitdiffstats
path: root/include/scsi
diff options
context:
space:
mode:
authorChandra Seetharaman <sekharan@us.ibm.com>2009-06-26 19:30:06 -0700
committerJames Bottomley <James.Bottomley@suse.de>2009-08-22 17:51:51 -0500
commit6c10db72c94818573552fd71c89540da325efdfb (patch)
tree6afa9b0431d22638a1a11dfe3c5924b8e1a8e2f3 /include/scsi
parentb4567ca6304a9b31cb2eae62f812e9eb9badcb60 (diff)
downloadlinux-6c10db72c94818573552fd71c89540da325efdfb.tar.bz2
[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.h2
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];
};