Re: Block layer projects that I haven't had time for

From: Kent Overstreet
Date: Thu Dec 11 2014 - 05:12:18 EST


On Thu, Dec 11, 2014 at 11:07:51AM +0100, Dongsu Park wrote:
> Hi Ming & Kent,
>
> On 10.12.2014 23:11, Ming Lin wrote:
> > > On Wed, Dec 10, 2014 at 02:42:14PM -0800, Ming Lin wrote:
> > > Try this fix:
> > Yes, it fixed ext4 problem.
>
> @kent: Thank you for the patch. Indeed it fixes the ext4 lockup I've seen.
> I've applied it to my tree, under the branch block-mpage-bvecs-for-next.
> See 0d2e05525a58 ("fs/ext4: fix a lockup when writing blocks into ext4
> rootfs") <https://github.com/dongsupark/linux/commit/0d2e05525a58>.
>
> After that of course, more bugs start to appear, e.g. crash with virtio-blk,
> like we'd have opened a can of worms. ;-)

Yeah :) You'll need to audit every usage of bio_for_each_segment() to figure out
which ones need converting to bio_for_each_page(). I did some of this - but just
enough to get it working for me, and I haven't worked on that code since at
least 3.14 so really everything needs to be audited.

Hopefully in the future a lot of stuff could be converted to
bio_for_each_segment() and changed to use more efficient algorithms, but that
will be a lot more work. With bio_for_each_page() it shouldn't be too hard to
get it stable, though.
--
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/