Re: [PATCH V6 00/30] block: support multipage bvec

From: Christoph Hellwig
Date: Wed Jun 13 2018 - 10:43:16 EST


On Tue, Jun 12, 2018 at 11:42:49AM +0800, Ming Lei wrote:
> On Mon, Jun 11, 2018 at 09:48:06AM -0700, Christoph Hellwig wrote:
> > Ð think the new naming scheme in this series is a nightmare. It
> > confuses the heck out of me, and that is despite knowing many bits of
> > the block layer inside out, and reviewing previous series.
>
> In V5, there isn't such issue, since bio_for_each_segment* is renamed
> into bio_for_each_page* first before doing the change.

But now we are at V6 where that isn't the case..

> Seems Jens isn't fine with the big renaming, then I follow the suggestion
> of taking 'chunk' for representing multipage bvec in V6.

Please don't use chunk. We are iterating over bio_vec structures, while
we have the concept of a chunk size for something else in the block layer,
so this just creates confusion. Nevermind names like
bio_for_each_chunk_segment_all which just double the confusion.

So assuming that bio_for_each_segment is set to stay as-is for now,
here is a proposal for sanity by using the vec name.

OLD: bio_for_each_segment
NEW(page): bio_for_each_segment, to be renamed bio_for_each_page later
NEW(bvec): bio_for_each_bvec

OLD: __bio_for_each_segment
NEW(page): __bio_for_each_segment, to be renamed __bio_for_each_page later
NEW(bvec): (no bvec version needed)

OLD: bio_for_each_segment_all
NEW(page): bio_for_each_page_all (needs updated prototype anyway)
NEW(bvec): (no bvec version needed once bcache is fixed up)