Re: [PATCH v4 0/2] block: Fix regression since 46081b166415acb66d4b3150ecefcd9460bb48a1(was: Allow merging of tail pages into the last segment)

From: Jan Vesely
Date: Fri Jul 26 2013 - 06:42:23 EST


On 12/07/13 17:52, Jan Vesely wrote:
> Hi
>
> These patches modify __bio_add_page to accept pages that extent the last bio
> segment. some drivers craft their buffers and rely on this behavior (see
> message in patch 2 for details)
>
>
> jan
>
> v4: whitespace fixes to make checkpatch happy
>
> v3: Use code from __blk_recalc_rq_segments to decide whether the page is
> mergeable,
>
> v2: modify a comment

ping
and a bit more info from patch 2/2:

The original behavior was to refuse all pages after the maximum number of
segments has been reached. However, some drivers (like st) craft their buffers
to potentially require exactly max segments and multiple pages in the last
segment. This patch modifies the check to allow pages that can be merged into
the last segment.

Fixes EBUSY failures when using large tape block size in high
memory fragmentation condition. This regression was introduced by commit
46081b166415acb66d4b3150ecefcd9460bb48a1
st: Increase success probability in driver buffer allocation

Jan

--
Jan Vesely <jvesely@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/