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