Re: [PATCH 00/10] block: cleanup on direct access to bvec table(prepare for multipage bvec)

Ming Lei
2017-12-13T17:55:21Z

On Tue, Dec 12, 2017 at 05:18:44PM +0800, Ming Lei wrote:
> On Mon, Dec 11, 2017 at 11:57:38PM -0800, Christoph Hellwig wrote:
> > Most of this looks sane, but I'd really like to see it in context
> > of the actual multipage bvec patches. Do you have an updated branch
> > on top of these?
>
> I will post it out soon after addressing some of last comments.

You can find the actual multipage bvec patches in the following tree,
which is on top this prepare patchset.

tree: https://github.com/ming1/linux.git #v4.15-rc-mp-bvec_v4-rc1
gitweb: https://github.com/ming1/linux/commits/v4.15-rc-mp-bvec_v4-rc1

In this tree, all the current bio_for_each_segment* are converted to
bio_for_each_page*() first, then after multipage bvec is enabled, we
have the following helpers:

1) bio_for_each_segment()/bio_for_each_segment_all()

iterate bio segment by segment which is real multipage bvec

2) bio_for_each_page()/bio_for_each_page_all()

iterate bio page by page, which is the current in-tree bio_for_each_segment()/
bio_for_each_segment_all()

3) rq_for_each_page()/rq_for_each_segment()
similar with above

Not run full test yet, but it works on my VM, will start xfstest later.

Thanks,
Ming