<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/s390/block, branch v3.11.1</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.11.1</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.11.1'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2013-07-30T14:17:25+00:00</updated>
<entry>
<title>s390/dasd: fix hanging devices after path events</title>
<updated>2013-07-30T14:17:25+00:00</updated>
<author>
<name>Stefan Haberland</name>
<email>stefan.haberland@de.ibm.com</email>
</author>
<published>2013-07-30T08:49:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0e003b709ef9f4c43f6338834526c3556ea71b19'/>
<id>urn:sha1:0e003b709ef9f4c43f6338834526c3556ea71b19</id>
<content type='text'>
The processing of the dasd_block tasklet may have been interrupted
by a path event.
Restart the dasd tasklets in sleep_on_immediately function.

Signed-off-by: Stefan Haberland &lt;stefan.haberland@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/dasd: Fail all requests when DASD_FLAG_ABORTIO is set</title>
<updated>2013-07-01T15:31:26+00:00</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-01-30T09:26:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5ea34a01423a27d4526f3551e8542f2f991bd4a0'/>
<id>urn:sha1:5ea34a01423a27d4526f3551e8542f2f991bd4a0</id>
<content type='text'>
Whenever a DASD request encounters a timeout we might
need to abort all outstanding requests on this or
even other devices.

This is especially useful if one wants to fail all
devices on one side of a RAID10 configuration, even
though only one device exhibited an error.

To handle this I've introduced a new device flag
DASD_FLAG_ABORTIO.
This flag is evaluated in __dasd_process_request_queue()
and will invoke blk_abort_request() for all
outstanding requests with DASD_CQR_FLAGS_FAILFAST set.
This will cause any of these requests to be aborted
immediately if the blk_timeout function is activated.

The DASD_FLAG_ABORTIO is also evaluated in
__dasd_process_request_queue to abort all
new request which would have the
DASD_CQR_FLAGS_FAILFAST bit set.

The flag can be set with the new ioctls 'BIODASDABORTIO'
and removed with 'BIODASDALLOWIO'.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Stefan Weinhuber &lt;wein@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/dasd: Add 'timeout' attribute</title>
<updated>2013-07-01T15:31:25+00:00</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-01-30T09:26:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3d71ad32167c9124d5621b54c37a74ef38aa93b0'/>
<id>urn:sha1:3d71ad32167c9124d5621b54c37a74ef38aa93b0</id>
<content type='text'>
This patch adds a 'timeout' attibute to the DASD driver.
When set to non-zero, the blk_timeout function will
be enabled with the timeout specified in the attribute.
Setting 'timeout' to '0' will disable block timeouts.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Stefan Weinhuber &lt;wein@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>block/dasd: detailed I/O errors</title>
<updated>2013-07-01T15:31:22+00:00</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-01-30T09:26:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d1ffc1f8660e749a2683f19ee7cfdd837568b37a'/>
<id>urn:sha1:d1ffc1f8660e749a2683f19ee7cfdd837568b37a</id>
<content type='text'>
The DASD driver is using FASTFAIL as an equivalent to the
transport errors in SCSI. And the 'steal lock' function maps
roughly to a reservation error. So we should be returning the
appropriate error codes when completing a request.

Acked-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Stefan Weinhuber &lt;wein@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/dasd: Reduce amount of messages for specific errors</title>
<updated>2013-07-01T15:31:21+00:00</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-01-30T09:26:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f6f80340308cdcb84db45d3abf95f23d5b66051d'/>
<id>urn:sha1:f6f80340308cdcb84db45d3abf95f23d5b66051d</id>
<content type='text'>
Whenever a request has been aborted internally by the driver
there is no sense data to be had. And printing lots of messages
stalls the system, so better to print out a short one-liner.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Stefan Weinhuber &lt;wein@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/dasd: Implement block timeout handling</title>
<updated>2013-07-01T15:31:20+00:00</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-01-30T09:26:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a2ace46632fb38c7a3771f2f0d235a4295e83bcf'/>
<id>urn:sha1:a2ace46632fb38c7a3771f2f0d235a4295e83bcf</id>
<content type='text'>
This patch implements generic block layer timeout handling
callbacks for DASDs. When the timeout expires the respective
cqr is aborted.

With this timeout handler time-critical request abort
is guaranteed as the abort does not depend on the internal
state of the various DASD driver queues.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Acked-by: Stefan Weinhuber &lt;wein@de.ibm.com&gt;
Signed-off-by: Stefan Weinhuber &lt;wein@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/dasd: process all requests in the device tasklet</title>
<updated>2013-07-01T15:31:18+00:00</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-01-30T09:26:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1fbdb8be9bfc91efd45720493c7ecae884ae22bd'/>
<id>urn:sha1:1fbdb8be9bfc91efd45720493c7ecae884ae22bd</id>
<content type='text'>
Originally the DASD device tasklet would process the entries on
the ccw_queue until the first non-final request was found.
Which was okay as long as all requests have the same retries and
expires parameter.
However, as we're now allowing to modify both it is possible to
have requests _after_ the first request which already have expired.
So we need to check all requests in the device tasklet.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Stefan Weinhuber &lt;wein@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/dasd: make number of retries configurable</title>
<updated>2013-07-01T15:31:17+00:00</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-01-30T09:26:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1f1ee9ad6b298400c7a44f860231ac1d3cb7bfd6'/>
<id>urn:sha1:1f1ee9ad6b298400c7a44f860231ac1d3cb7bfd6</id>
<content type='text'>
Instead of having the number of retries hard-coded in the various
functions we should be using a default retry value, which can
be modified via sysfs.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Stefan Weinhuber &lt;wein@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/dasd: Clarify comment</title>
<updated>2013-07-01T15:31:16+00:00</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2013-01-30T09:26:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b99a946de6a988a38043180d42e6b7a2f07d4f57'/>
<id>urn:sha1:b99a946de6a988a38043180d42e6b7a2f07d4f57</id>
<content type='text'>
dasd_cancel_req will never return 1, only 0.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Stefan Weinhuber &lt;wein@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/dasd: Cocci spatch "ptr_ret.spatch"</title>
<updated>2013-06-26T19:10:19+00:00</updated>
<author>
<name>Thomas Meyer</name>
<email>thomas@m3y3r.de</email>
</author>
<published>2013-06-01T09:52:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=82a7b9557751febc7303ec8df8c69cb9652cbe65'/>
<id>urn:sha1:82a7b9557751febc7303ec8df8c69cb9652cbe65</id>
<content type='text'>
Signed-off-by: Thomas Meyer &lt;thomas@m3y3r.de&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
</feed>
