From: Ming Lei <ming.lei@redhat.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
Theodore Ts'o <tytso@mit.edu>,
Linux Next Mailing List <linux-next@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Eric Biggers <ebiggers@google.com>
Subject: Re: linux-next: manual merge of the block tree with the fscrypt tree
Date: Fri, 18 Jan 2019 10:45:24 +0800 [thread overview]
Message-ID: <20190118024523.GA27808@ming.t460p> (raw)
In-Reply-To: <62f1085d-a436-d0ab-6bc1-2b3d7d0ea2c7@kernel.dk>
On Wed, Jan 16, 2019 at 07:27:25AM -0700, Jens Axboe wrote:
> On 1/16/19 12:39 AM, Ming Lei wrote:
> > On Tue, Jan 15, 2019 at 08:17:36PM -0700, Jens Axboe wrote:
> >> On 1/15/19 8:13 PM, Ming Lei wrote:
> >>> On Tue, Jan 15, 2019 at 07:55:39PM -0700, Jens Axboe wrote:
> >>>> On 1/15/19 7:25 PM, Stephen Rothwell wrote:
> >>>>> Hi all,
> >>>>>
> >>>>> Today's linux-next merge of the block tree got a conflict in:
> >>>>>
> >>>>> fs/ext4/readpage.c
> >>>>>
> >>>>> between commit:
> >>>>>
> >>>>> acc9eb0a6073 ("ext4: add fs-verity read support")
> >>>>>
> >>>>> from the fscrypt tree and commit:
> >>>>>
> >>>>> eb754eb2a953 ("block: allow bio_for_each_segment_all() to iterate over multi-page bvec")
> >>>>>
> >>>>> from the block tree.
> >>>>>
> >>>>> I fixed it up (see below - the former moved the code modified by the
> >>>>> latter) and can carry the fix as necessary. This is now fixed as far as
> >>>>> linux-next is concerned, but any non trivial conflicts should be mentioned
> >>>>> to your upstream maintainer when your tree is submitted for merging.
> >>>>> You may also want to consider cooperating with the maintainer of the
> >>>>> conflicting tree to minimise any particularly complex conflicts.
> >>>>
> >>>> Ming, I'm pulling this, I thought we agreed none of these bullshit
> >>>> renames? The fact that a patch looks like this:
> >>>>
> >>>> - for_each_bvec(bv, (it)->bvecs, __cur_iter, __cur_iter) \
> >>>> + for_each_segment(bv, (it)->bvecs, __cur_iter, __cur_iter) \
> >>>>
> >>>> is SUPER annoying and does NOTHING but to cause merge conflicts.
> >>>>
> >>>> Resend it without that.
> >>>
> >>> We need to differentiate 'segment' with 'bvec' in bvec helpers, which is
> >>> usually seldom used by drivers. For example, only two in-tree users(ceph, iov_iter).
> >>> That is why I rename it, and seems Christoph prefers to do it too.
> >>
> >> If you want to do a rename, then we do it after. I don't want to deal with
> >> weeks and weeks of fallout from this. Write a rename script that we can
> >> then run at the end of the next merge window. You're going to be playing
> >> catch-up until that happens if we go the current route, and honestly
> >> I'm not at all interested in the fallout from that.
> >>
> >> I know exactly what will happen until 5.1-rc opens, and what my tree will
> >> look like from having to deal with this. And then I know exactly what Linus
> >> is going to say, and I can't even argue against it, since he'll be totally
> >> right.
> >>
> >> Hence it's not going to happen this way.
> >
> > I can remove the renaming in patch 'block: rename bvec helpers', but
> > change on bio_for_each_segment_all() is inevitable, and it is still an
> > API change, so merge conflict can't avoid too.
>
> That's not what I'm complaining about, API changes are inevitable for
> something like this. What I'm complaining about is the very example
> I posted above, and which has already caused issues. That's a frivolous
> name change. Don't do it.
Hi Jens,
I may avoid the rename for avoiding merge conflict.
However, given we have been back and forth for this naming thing several
times, I'd rather explain the story one more time:
In V13's patch4, we rename:
for_each_bvec
bvec_iter_bvec
bvec_iter_len
bvec_iter_page
bvec_iter_offset
into:
for_each_segment
segment_iter_bvec
segment_iter_len
segment_iter_page
segment_iter_offset
so that these helpers named with 'segment' only deal with single-page
bvec, or called segment. We re-introduce helpers named with 'bvec'
for multi-page bvec, as suggested by Christoph.
If the above renaming has to be avoided, we need one new name
for multi-page bvec helpers, previous I name it as 'mp_bvec', such as:
for_each_mp_bvec
mp_bvec_iter_bvec
mp_bvec_iter_len
mp_bvec_iter_page
mp_bvec_iter_offset
However, Christoph were not very happy with the above name.
Given you mentioned one more rename after the patches are merged should
be fine, I understand the new name of 'mp_bvec' should be fine for you
because it is just short-life.
Please confirm or provide another better name, so that we can move on.
Thanks,
Ming
next prev parent reply other threads:[~2019-01-18 2:45 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-16 2:25 linux-next: manual merge of the block tree with the fscrypt tree Stephen Rothwell
2019-01-16 2:55 ` Jens Axboe
2019-01-16 3:13 ` Ming Lei
2019-01-16 3:17 ` Jens Axboe
2019-01-16 7:39 ` Ming Lei
2019-01-16 14:27 ` Jens Axboe
2019-01-18 2:45 ` Ming Lei [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-07-09 3:02 Stephen Rothwell
2020-07-23 1:03 ` Stephen Rothwell
2022-02-14 1:11 Stephen Rothwell
2022-02-14 7:15 ` Christoph Hellwig
2022-02-14 19:26 ` Eric Biggers
2022-02-21 16:45 broonie
2022-02-21 16:47 broonie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190118024523.GA27808@ming.t460p \
--to=ming.lei@redhat.com \
--cc=axboe@kernel.dk \
--cc=ebiggers@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=sfr@canb.auug.org.au \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox