<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/block, branch v2.6.30</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=v2.6.30</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.30'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2009-06-09T13:17:37Z</updated>
<entry>
<title>bsg: setting rq-&gt;bio to NULL</title>
<updated>2009-06-09T13:17:37Z</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@lab.ntt.co.jp</email>
</author>
<published>2009-06-09T13:17:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c1d4c41f2fdfe66dea957b76d005affba3e56b26'/>
<id>urn:sha1:c1d4c41f2fdfe66dea957b76d005affba3e56b26</id>
<content type='text'>
Due to commit 1cd96c242a829d52f7a5ae98f554ca9775429685 ("block: WARN
in __blk_put_request() for potential bio leak"), BSG SMP requests get
the false warnings:

WARNING: at block/blk-core.c:1068 __blk_put_request+0x52/0xc0()

This sets rq-&gt;bio to NULL to avoid that false warnings.

Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@lab.ntt.co.jp&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>block: fix the bio_vec array index out-of-bounds test</title>
<updated>2009-05-12T11:27:45Z</updated>
<author>
<name>Kazuhisa Ichikawa</name>
<email>ki@epsilou.com</email>
</author>
<published>2009-05-12T11:27:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=af498d7fa3e786f52650819a56e117ed9a40920c'/>
<id>urn:sha1:af498d7fa3e786f52650819a56e117ed9a40920c</id>
<content type='text'>
Current bio_vec array index out-of-bounds test within
__end_that_request_first() does not seem correct.
It checks bio-&gt;bi_idx against bio-&gt;bi_vcnt, but the subsequent code
uses idx (which is, bio-&gt;bi_idx + next_idx) as the array index into
bio_vec array. This means that the test really make sense only at
the first iteration of !(nr_bytes &gt;=bio-&gt;bi_size) case (when next_idx
== zero). Fix this by replacing bio-&gt;bi_idx with idx.
(This patch applies to 2.6.30-rc4.)

Signed-off-by: Kazuhisa Ichikawa &lt;ki@epsilou.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>cfq-iosched: cache prio_tree root in cfqq-&gt;p_root</title>
<updated>2009-04-24T06:54:22Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2009-04-23T10:19:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f2d1f0ae7851be5ebd9613a80dac139270938809'/>
<id>urn:sha1:f2d1f0ae7851be5ebd9613a80dac139270938809</id>
<content type='text'>
Currently we look it up from -&gt;ioprio, but -&gt;ioprio can change if
either the process gets its IO priority changed explicitly, or if
cfq decides to temporarily boost it. So if we are unlucky, we can
end up attempting to remove a node from a different rbtree root than
where it was added.

Fix this by using -&gt;org_ioprio as the prio_tree index, since that
will only change for explicit IO priority settings (not for a boost).
Additionally cache the rbtree root inside the cfqq, then we don't have
to add code to reinsert the cfqq in the prio_tree if IO priority changes.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>cfq-iosched: fix bug with aliased request and cooperation detection</title>
<updated>2009-04-24T06:54:22Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2009-04-23T10:14:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3ac6c9f8a66726745136e46f63600550c3eb6cec'/>
<id>urn:sha1:3ac6c9f8a66726745136e46f63600550c3eb6cec</id>
<content type='text'>
cfq_prio_tree_lookup() should return the direct match, yet it always
returns zero. Fix that.

cfq_prio_tree_add() assumes that we don't get a direct match, while
it is very possible that we do. Using O_DIRECT, you can have different
cfqq with matching requests, since you don't have the page cache
to serialize things for you. Fix this bug by only adding the cfqq if
there isn't an existing match.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>cfq-iosched: clear -&gt;prio_trees[] on cfqd alloc</title>
<updated>2009-04-24T06:54:22Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2009-04-23T10:13:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=26a2ac009c2b07e1959c8864ca23486c1c485587'/>
<id>urn:sha1:26a2ac009c2b07e1959c8864ca23486c1c485587</id>
<content type='text'>
Not strictly needed, but we should make it clear that we init the
rbtree roots here.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>block: fix intermittent dm timeout based oops</title>
<updated>2009-04-24T06:54:21Z</updated>
<author>
<name>Hannes Reinecke</name>
<email>hare@suse.de</email>
</author>
<published>2009-04-23T08:32:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=17d5c8ca7572124c9623045f24b0c21d4aa2b47f'/>
<id>urn:sha1:17d5c8ca7572124c9623045f24b0c21d4aa2b47f</id>
<content type='text'>
Very rarely under stress testing of dm, oopses are occuring as
something tampers with an old stack frame.  This has been traced back
to blk_abort_queue() leaving a timeout_list pointing to the stack.
The reason is that sometimes blk_abort_request() won't delete the
timer (if the request is marked as complete but before the timer has
been removed, a small race window).  Fix this by splicing back from
the ususally empty list to the q-&gt;timeout_list.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>block: simplify I/O stat accounting</title>
<updated>2009-04-24T06:54:21Z</updated>
<author>
<name>Jerome Marchand</name>
<email>jmarchan@redhat.com</email>
</author>
<published>2009-04-22T12:01:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=42dad7647aec49b3ad20dd0cb832b232a6ae514f'/>
<id>urn:sha1:42dad7647aec49b3ad20dd0cb832b232a6ae514f</id>
<content type='text'>
This simplifies I/O stat accounting switching code and separates it
completely from I/O scheduler switch code.

Requests are accounted according to the state of their request queue
at the time of the request allocation. There is no need anymore to
flush the request queue when switching I/O accounting state.

Signed-off-by: Jerome Marchand &lt;jmarchan@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>cfq-iosched: use the default seek distance when there aren't enough seek samples</title>
<updated>2009-04-22T06:35:11Z</updated>
<author>
<name>Jeff Moyer</name>
<email>jmoyer@redhat.com</email>
</author>
<published>2009-04-21T05:31:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=04dc6e71a28d4815bf9431efcafc107bb0ad2792'/>
<id>urn:sha1:04dc6e71a28d4815bf9431efcafc107bb0ad2792</id>
<content type='text'>
If the cfq io context doesn't have enough samples yet to provide a mean
seek distance, then use the default threshold we have for seeky IO instead
of defaulting to 0.

Signed-off-by: Jeff Moyer &lt;jmoyer@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>cfq-iosched: make seek_mean converge more quickly</title>
<updated>2009-04-22T06:35:11Z</updated>
<author>
<name>Jeff Moyer</name>
<email>jmoyer@redhat.com</email>
</author>
<published>2009-04-21T05:25:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4d00aa47e2337dcfe2d8a7215dbde3765b507167'/>
<id>urn:sha1:4d00aa47e2337dcfe2d8a7215dbde3765b507167</id>
<content type='text'>
Right now, depending on the first sector to which a process issues I/O,
the seek time may start out way out of whack. So make sure we start
with 0 sectors in seek, instead of the offset of the first request
issued.

Signed-off-by: Jeff Moyer &lt;jmoyer@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>block: make blk_abort_queue() ignore non-request based devices</title>
<updated>2009-04-22T06:35:10Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2009-04-17T06:36:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b759113499d6c7cb75fab04f56772579308bc0f8'/>
<id>urn:sha1:b759113499d6c7cb75fab04f56772579308bc0f8</id>
<content type='text'>
There's nothing to do for those devices, since the timeout handling is
based on requests.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
</feed>
