<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/scsi/device_handler, branch v3.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v3.5</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v3.5'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2012-04-23T18:28:18Z</updated>
<entry>
<title>[SCSI] scsi_dh_alua: Optimize the STPG command</title>
<updated>2012-04-23T18:28:18Z</updated>
<author>
<name>Moger, Babu</name>
<email>Babu.Moger@netapp.com</email>
</author>
<published>2012-03-27T20:56:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=72d9e0f383c2b7a2e2fe4442577319bae0686f40'/>
<id>urn:sha1:72d9e0f383c2b7a2e2fe4442577319bae0686f40</id>
<content type='text'>
This patch optimizes the set target port group(STPG) command. During our
testing, we found that it is not optimal to send stpg command every time
the path group switch happens. This patch uses PREF (preferred target port)
bit with combination of flags passed by multipath user level tool to
optimize this behaviour. If PREF bit is set then it issues a STPG command,
otherwise it will let implicit transfer take place.

By default there is no change in the behaviour. User tool needs to pass the
parameter to make this change take effect. Patch has been tested on NetApp
E series storage.

Signed-off-by: Babu Moger &lt;babu.moger@netapp.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi_dh_alua: Store the PREF bit from RTPG</title>
<updated>2012-04-23T18:28:13Z</updated>
<author>
<name>Moger, Babu</name>
<email>Babu.Moger@netapp.com</email>
</author>
<published>2012-03-27T20:56:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=dcd3a754b8c811441326d68574598fb3b4976ff4'/>
<id>urn:sha1:dcd3a754b8c811441326d68574598fb3b4976ff4</id>
<content type='text'>
PREF bit indicates preferred target port group for accessing a logical
unit. This bit is used to optimize the STPG command handling.

Signed-off-by: Babu Moger &lt;babu.moger@netapp.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi_dh_alua: Inroduce the set_params interface scsi_dh_alua handler</title>
<updated>2012-04-23T18:28:07Z</updated>
<author>
<name>Moger, Babu</name>
<email>Babu.Moger@netapp.com</email>
</author>
<published>2012-03-27T20:55:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4335d092a1f28e17c5bafa6170bbf9599ca29c6a'/>
<id>urn:sha1:4335d092a1f28e17c5bafa6170bbf9599ca29c6a</id>
<content type='text'>
Handler expects only one parameter to set the flag ALUA_OPTIMIZE_STPG.
This flag is used to optimize the STPG behaviour. There is no change in
behaviour by default.

For example, to set the flag pass the following parameters from multipath.conf
hardware_handler        "2 alua 1"

Signed-off-by: Babu Moger &lt;babu.moger@netapp.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi_dh_rdac: Fix for unbalanced reference count</title>
<updated>2012-02-22T18:15:19Z</updated>
<author>
<name>Moger, Babu</name>
<email>Babu.Moger@netapp.com</email>
</author>
<published>2012-02-02T15:21:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3569e5374df66a42ab66368b8bbb075e81d4e85c'/>
<id>urn:sha1:3569e5374df66a42ab66368b8bbb075e81d4e85c</id>
<content type='text'>
This patch fixes an unbalanced refcount issue.

Elevating the lock for both kref_put and also for controller node deletion.
Previously, controller deletion was protected but the not the kref_put. This
was causing the other thread to pick up the controller structure which was
already kref'd zero.

This was causing the following WARN_ON and also sometimes panic.

WARNING: at lib/kref.c:43 kref_get+0x2d/0x30() (Not tainted)
Hardware name: IBM System x3655 -[7985AC1]-
Modules linked in: fuse scsi_dh_rdac autofs4 nfs lockd fscache nfs_acl
auth_rpcgss sunrpc 8021q garp stp llc ipv6 ib_srp(U) scsi_transport_srp
scsi_tgt ib_cm(U) ib_sa(U) ib_uverbs(U) ib_umad(U) mlx4_ib(U) mlx4_core(U)
ib_mthca(U) ib_mad(U) ib_core(U) dm_mirror dm_region_hash dm_log dm_round_robin
dm_multipath uinput bnx2 ses enclosure sg ibmpex ibmaem ipmi_msghandler
serio_raw k8temp hwmon amd64_edac_mod edac_core edac_mce_amd shpchp i2c_piix4
ext4 mbcache jbd2 sr_mod cdrom sd_mod crc_t10dif sata_svw pata_acpi ata_generic
pata_serverworks aacraid radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core
dm_mod [last unloaded: freq_table]
Pid: 13735, comm: srp_daemon Not tainted 2.6.32-71.el6.x86_64 #1
Call Trace:
[&lt;ffffffff8106b857&gt;] warn_slowpath_common+0x87/0xc0
[&lt;ffffffff8106b8aa&gt;] warn_slowpath_null+0x1a/0x20
[&lt;ffffffff8125c39d&gt;] kref_get+0x2d/0x30
[&lt;ffffffffa01b4029&gt;] rdac_bus_attach+0x459/0x580 [scsi_dh_rdac]
[&lt;ffffffff8135232a&gt;] scsi_dh_handler_attach+0x2a/0x80
[&lt;ffffffff81352c7b&gt;] scsi_dh_notifier+0x9b/0xa0
[&lt;ffffffff814cd7a5&gt;] notifier_call_chain+0x55/0x80
[&lt;ffffffff8109711a&gt;] __blocking_notifier_call_chain+0x5a/0x80
[&lt;ffffffff81097156&gt;] blocking_notifier_call_chain+0x16/0x20
[&lt;ffffffff8132bec5&gt;] device_add+0x515/0x640
[&lt;ffffffff813329e4&gt;] ? attribute_container_device_trigger+0xc4/0xe0
[&lt;ffffffff8134f659&gt;] scsi_sysfs_add_sdev+0x89/0x2c0
[&lt;ffffffff8134d096&gt;] scsi_probe_and_add_lun+0xea6/0xed0
[&lt;ffffffff8134beb2&gt;] ? scsi_alloc_target+0x292/0x2d0
[&lt;ffffffff8134d1e1&gt;] __scsi_scan_target+0x121/0x750
[&lt;ffffffff811df806&gt;] ? sysfs_create_file+0x26/0x30
[&lt;ffffffff8132b759&gt;] ? device_create_file+0x19/0x20
[&lt;ffffffff81332838&gt;] ? attribute_container_add_attrs+0x78/0x90
[&lt;ffffffff814b008c&gt;] ? klist_next+0x4c/0xf0
[&lt;ffffffff81332e30&gt;] ? transport_configure+0x0/0x20
[&lt;ffffffff813329e4&gt;] ? attribute_container_device_trigger+0xc4/0xe0
[&lt;ffffffff8134df40&gt;] scsi_scan_target+0xd0/0xe0
[&lt;ffffffffa02f053a&gt;] srp_create_target+0x75a/0x890 [ib_srp]
[&lt;ffffffff8132a130&gt;] dev_attr_store+0x20/0x30
[&lt;ffffffff811df145&gt;] sysfs_write_file+0xe5/0x170
[&lt;ffffffff8116c818&gt;] vfs_write+0xb8/0x1a0
[&lt;ffffffff810d40a2&gt;] ? audit_syscall_entry+0x272/0x2a0
[&lt;ffffffff8116d251&gt;] sys_write+0x51/0x90
[&lt;ffffffff81013172&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Babu Moger &lt;babu.moger@netapp.com&gt;
Acked-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi_dh_alua: Retry the check-condition in case Mode Parameters Changed</title>
<updated>2012-01-10T23:01:24Z</updated>
<author>
<name>Moger, Babu</name>
<email>Babu.Moger@netapp.com</email>
</author>
<published>2011-12-21T23:01:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=410f02d813212eef1dedfcfd43460dd11a0ff707'/>
<id>urn:sha1:410f02d813212eef1dedfcfd43460dd11a0ff707</id>
<content type='text'>
This patch adds a check-condition in scsi_dh_alua handler for a retry.
Sometimes, I have seen attach failing due to this check-condition with
following error messages on NetApp E series storage.

Dec  7 15:31:01 nilgiris kernel: [102979.696673] scsi 3:0:2:9: alua: port group 00 rel port 01
Dec  7 15:31:01 nilgiris kernel: [102979.697082] scsi 3:0:2:9: alua: rtpg failed with 8000002
Dec  7 15:31:01 nilgiris kernel: [102979.697086] scsi 3:0:2:9: alua: rtpg sense code 06/2a/01
Dec  7 15:31:01 nilgiris kernel: [102979.697088] scsi 3:0:2:9: alua: not attached

Signed-off-by: Babu Moger &lt;babu.moger@netapp.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi_dh_rdac: Fix error path</title>
<updated>2012-01-10T23:01:18Z</updated>
<author>
<name>Richard Weinberger</name>
<email>richard@nod.at</email>
</author>
<published>2011-11-18T00:44:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9fc397fc0878c9540af20cbffc4d546541fe8b23'/>
<id>urn:sha1:9fc397fc0878c9540af20cbffc4d546541fe8b23</id>
<content type='text'>
If create_singlethread_workqueue() failes, rdac_init should fail too.

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Acked-by: "Moger, Babu" &lt;Babu.Moger@netapp.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi_dh: code cleanup and remove the references to scsi_dev_info</title>
<updated>2011-12-15T06:55:00Z</updated>
<author>
<name>Moger, Babu</name>
<email>Babu.Moger@netapp.com</email>
</author>
<published>2011-12-01T20:03:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2b132577a05ec2970581c99da70825430d5919df'/>
<id>urn:sha1:2b132577a05ec2970581c99da70825430d5919df</id>
<content type='text'>
All the handlers have now implemented the match function so We don't need to
use scsi_dev_info any more for matching purposes.

Signed-off-by: Babu Moger &lt;babu.moger@netapp.com&gt;
Acked-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi_dh_rdac: Adding the match function for rdac device handler</title>
<updated>2011-12-15T06:55:00Z</updated>
<author>
<name>Moger, Babu</name>
<email>Babu.Moger@netapp.com</email>
</author>
<published>2011-12-01T20:01:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bee89eae8de143b1d9f82ab7ab6d9daef8e44760'/>
<id>urn:sha1:bee89eae8de143b1d9f82ab7ab6d9daef8e44760</id>
<content type='text'>
This patch introduces the match function for rdac device handler. Without
this, sometimes handler attach fails during the device_add. Included check for
TPGS bit before proceeding further. The match function was introduced by
commit 6c3633d08acf514e2e89aa95d2346ce9d64d719a

Signed-off-by: Babu Moger &lt;babu.moger@netapp.com&gt;
Acked-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi_dh_hp_sw: Adding the match function for hp_sw device handler</title>
<updated>2011-12-15T06:55:00Z</updated>
<author>
<name>Moger, Babu</name>
<email>Babu.Moger@netapp.com</email>
</author>
<published>2011-12-01T20:01:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a315969e8d699682adf449813de84b7f2358f64d'/>
<id>urn:sha1:a315969e8d699682adf449813de84b7f2358f64d</id>
<content type='text'>
This patch introduces the match function for hp_sw device handler.  Included
the check for TPGS bit before proceeding further per Hannes comment.  The
match function was introduced by commit
6c3633d08acf514e2e89aa95d2346ce9d64d719a

Signed-off-by: Babu Moger &lt;babu.moger@netapp.com&gt;
Acked-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi_dh_emc: Add a match function for emc device handler</title>
<updated>2011-12-15T06:55:00Z</updated>
<author>
<name>Moger, Babu</name>
<email>Babu.Moger@netapp.com</email>
</author>
<published>2011-12-01T20:01:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4f10143f6e8cd62460920211e1b24b0915d0ab00'/>
<id>urn:sha1:4f10143f6e8cd62460920211e1b24b0915d0ab00</id>
<content type='text'>
This patch introduces the match function for emc device handler.  Included
check for TPGS bit before proceeding further.  The match function was
introduced by commit 6c3633d08acf514e2e89aa95d2346ce9d64d719a

Signed-off-by: Babu Moger &lt;babu.moger@netapp.com&gt;
Acked-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
</feed>
