<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/scsi/device_handler, branch v3.6</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/scsi/device_handler?h=v3.6</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/scsi/device_handler?h=v3.6'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-07-20T07:58:42Z</updated>
<entry>
<title>[SCSI] scsi_dh: add scsi_dh_attached_handler_name</title>
<updated>2012-07-20T07:58:42Z</updated>
<author>
<name>Mike Snitzer</name>
<email>snitzer@redhat.com</email>
</author>
<published>2012-06-26T18:32:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7e8a74b177f17d100916b6ad415450f7c9508691'/>
<id>urn:sha1:7e8a74b177f17d100916b6ad415450f7c9508691</id>
<content type='text'>
Introduce scsi_dh_attached_handler_name() to retrieve the name of the
scsi_dh that is attached to the scsi_device associated with the provided
request queue.  Returns NULL if a scsi_dh is not attached.

Also, fix scsi_dh_{attach,detach} function header comments to document
@q rather than @sdev.

Signed-off-by: Mike Snitzer &lt;snitzer@redhat.com&gt;
Tested-by: Babu Moger &lt;babu.moger@netapp.com&gt;
Reviewed-by: Chandra Seetharaman &lt;sekharan@us.ibm.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_alua: Re-enable STPG for unavailable ports</title>
<updated>2012-07-20T07:58:36Z</updated>
<author>
<name>Bart Van Assche</name>
<email>bvanassche@acm.org</email>
</author>
<published>2012-06-22T08:49:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bb2c94a3a6ad37fe7d34f369295bcdf5387e264f'/>
<id>urn:sha1:bb2c94a3a6ad37fe7d34f369295bcdf5387e264f</id>
<content type='text'>
A quote from SPC-4: "While in the unavailable primary target port
asymmetric access state, the device server shall support those of
the following commands that it supports while in the active/optimized
state: [ ... ] d) SET TARGET PORT GROUPS; [ ... ]". Hence re-enable
sending STPG to a target port group that is in the unavailable state.

Signed-off-by: Bart Van Assche &lt;bvanassche@acm.org&gt;
Reviewed-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_alua: backoff alua rtpg retry linearly vs. geometrically</title>
<updated>2012-07-20T07:58:33Z</updated>
<author>
<name>Rob Evers</name>
<email>revers@redhat.com</email>
</author>
<published>2012-05-18T18:08:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bc97f4bb4490ff31b2be8e006f750d4187ef0c7e'/>
<id>urn:sha1:bc97f4bb4490ff31b2be8e006f750d4187ef0c7e</id>
<content type='text'>
Currently the backoff algorithm for when to retry alua rtpg
requests progresses geometrically as so:

2, 4, 8, 16, 32, 64... seconds.

This progression can lead to un-needed delay in retrying
alua rtpg requests when the rtpgs are delayed.  A less
aggressive backoff algorithm that is additive would not
lead to such large jumps when delays start getting long, but
would backoff linearly:

2, 4, 6, 8, 10... seconds.

Signed-off-by: Martin George &lt;marting@netapp.com&gt;
Signed-off-by: Rob Evers &lt;revers@redhat.com&gt;
Reviewed-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_alua: retry alua rtpg extended header for illegal request response</title>
<updated>2012-07-20T07:58:33Z</updated>
<author>
<name>Rob Evers</name>
<email>revers@redhat.com</email>
</author>
<published>2012-05-18T18:08:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8e67ce6072a0ab7fcefbbd2913fa4eaf3fdd8d68'/>
<id>urn:sha1:8e67ce6072a0ab7fcefbbd2913fa4eaf3fdd8d68</id>
<content type='text'>
Some storage arrays are known to return 'illegal request'
when an rtpg extended header request is made.  T10 says the
array should ignore the bit, and return the non-extended
rtpg as the array doesn't support the request.  Working
around this by retrying the rtpg request without the extended
header bit set when the extended rtpg request results in
illegal request.

Signed-off-by: Rob Evers &lt;revers@redhat.com&gt;
Reviewed-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_alua: implement 'implied transition timeout'</title>
<updated>2012-07-20T07:58:32Z</updated>
<author>
<name>Rob Evers</name>
<email>revers@redhat.com</email>
</author>
<published>2012-05-18T18:08:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3588c5a21aef8c8dcc3b30d72c62971e97af1322'/>
<id>urn:sha1:3588c5a21aef8c8dcc3b30d72c62971e97af1322</id>
<content type='text'>
During alua transitions, an array can return transitioning
status in response to rtpg requests.  These requests get
retried for a maximum of 60 seconds by default before timing
out.  Sometimes this timeout isn't sufficient to allow the
array to complete the transition.  T10-spc4 addresses this
under 'Report Target Port Groups' command.

This update retrieves the timeout value from the storage
array if available and retries the transitioning rtpgs
for up to the 'implied transitioning timeout' value

Signed-off-by: Rob Evers &lt;revers@redhat.com&gt;
Reviewed-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_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.amat.us/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.amat.us/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.amat.us/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.amat.us/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.amat.us/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>
</feed>
