public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: dsterba@suse.cz, Qu Wenruo <wqu@suse.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 00/18] btrfs: migrate to "block size" to describe the
Date: Thu, 19 Dec 2024 07:45:19 +1030	[thread overview]
Message-ID: <f441de5b-d132-4033-bcbf-a259531f4721@gmx.com> (raw)
In-Reply-To: <20241218203601.GI31418@twin.jikos.cz>



在 2024/12/19 07:06, David Sterba 写道:
> On Thu, Dec 19, 2024 at 06:43:38AM +1030, Qu Wenruo wrote:
>>
>>
>> 在 2024/12/19 05:01, David Sterba 写道:
>>> On Wed, Dec 18, 2024 at 08:11:16PM +1030, Qu Wenruo wrote:
>>>> [IMPEMENTATION]
>>>> To reduce the confusion, this patchset will do such a huge migration in
>>>> different steps:
>>>
>>> With some many changes everywhere this is going to make backports even
>>> more tedious. I think it would be best to do the conversion gradually or
>>> selectively to code that does not change so often. As you've split it to
>>> files we can first pick a few obvious ones (like file-item.c) or gather
>>> stats from stable.git.
>>
>> For the backports, we can put the btrfs_fs_info union to older kernels
>> and call it a day without the remaining part.
>>
>> So that both newer and older terminology can co-exist without any conflicts.
>>
>> Although backport conflicts will still happen in the context.
>
> This is what I'm concerned about. If patches don't apply cleanly they're
> rejected from the automated stable workflow and have to be handled
> manually.
>
>>> A quick and rough estimate for all 6.x.y releases counting file
>>> backports in the individual patches in the list below. This is period of
>>> 2 years, 104 weeks (roughly matching number of releases). So if there
>>> are 88 patches touching inode.c that's quite likely a conflict in every
>>> backport.
>>>
>>> This should be also correlated agains number of 'sectorsize' per file,
>>> so it many not be that bad, for example in ioctl.c there are only 4
>>> occurences so that's fine. The point is we can't do the renames without
>>> some sensibility and respect to backports.
>>
>> But at least, when a backport fails, we can easily fix the conflict.
>> It will always be sectorsize -> blocksize, either in the context or the
>> modified lines.
>
> Easily yes, but multiply that by number of failed patches and number of
> stable trees to backport. This takes time and currently the upstream
> backports are best-effort only, not all patches that fail to apply get
> manually backported. Enough that there are CVEs of everything and we
> have to care about them at $job so I'm not going to create more problems
> with backports than we already have just to fix a naming inconvenience.
>

But I have to argue, that will only leave the problem untouched forever
(even if it's just a naming scheme problem).

Yes, it will cause backport problems, but as you also mentioned, the
frequency should not be that high (ssunless it's scrub/raid56).

With the compatible union, it should further reduce the conflict chance.

We have leave the naming problem untouched for over a decade, I think
it's time to finish it once for all.

And I'm pretty happy to handle the backports if it's just the renaming
causing the conflicts.


I also thought about the more progressive solution, just put the union
into all involved structures, and call it a day with future usage
migrated to blocksize.

But it's really no different than the current one backport wise, every
time a sectorsize is changed to blocksize, future backport will be affected.

It's just changing the short huge pain into a long small pain, the
amount of pain is not changed. And there will be a way longer window
where we have mixed terminology, causing more chaos and confusion.


Thus I recommend to take this chance to solve our long existing
problems. Or it will really never be fixed.

Thanks,
Qu

      reply	other threads:[~2024-12-18 21:15 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-18  9:41 [PATCH 00/18] btrfs: migrate to "block size" to describe the Qu Wenruo
2024-12-18  9:41 ` [PATCH 01/18] btrfs: rename btrfs_fs_info::sectorsize to blocksize for disk-io.c Qu Wenruo
2024-12-18  9:41 ` [PATCH 02/18] btrfs: migrate subpage.[ch] to use block size terminology Qu Wenruo
2024-12-18  9:41 ` [PATCH 03/18] btrfs: migrate tree-checker.c " Qu Wenruo
2024-12-18  9:41 ` [PATCH 04/18] btrfs: migrate scrub.c " Qu Wenruo
2024-12-18  9:41 ` [PATCH 05/18] btrfs: migrate extent_io.[ch] " Qu Wenruo
2024-12-18  9:41 ` [PATCH 06/18] btrfs: migrate compression related code " Qu Wenruo
2024-12-18  9:41 ` [PATCH 07/18] btrfs: migrate free space cache " Qu Wenruo
2024-12-18  9:41 ` [PATCH 08/18] btrfs: migrate file-item.c " Qu Wenruo
2024-12-18  9:41 ` [PATCH 09/18] btrfs: migrate file.c " Qu Wenruo
2024-12-18  9:41 ` [PATCH 10/18] btrfs: migrate inode.c and btrfs_inode.h " Qu Wenruo
2024-12-18  9:41 ` [PATCH 11/18] btrfs: migrate raid56.[ch] " Qu Wenruo
2024-12-18  9:41 ` [PATCH 12/18] btrfs: migrate defrag.c " Qu Wenruo
2024-12-18  9:41 ` [PATCH 13/18] btrfs: migrate bio.[ch] " Qu Wenruo
2024-12-18  9:41 ` [PATCH 14/18] btrfs: migrate the remaining sector size users " Qu Wenruo
2024-12-18  9:41 ` [PATCH 15/18] btrfs: migrate selftests " Qu Wenruo
2024-12-18  9:41 ` [PATCH 16/18] btrfs: finish the rename of btrfs_fs_info::sectorsize Qu Wenruo
2024-12-18  9:41 ` [PATCH 17/18] btrfs: migrate btrfs_super_block::sectorsize to blocksize Qu Wenruo
2024-12-18  9:41 ` [PATCH 18/18] btrfs: migrate the ioctl interfaces to use block size terminology Qu Wenruo
2024-12-18 18:31 ` [PATCH 00/18] btrfs: migrate to "block size" to describe the David Sterba
2024-12-18 20:13   ` Qu Wenruo
2024-12-18 20:36     ` David Sterba
2024-12-18 21:15       ` Qu Wenruo [this message]

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=f441de5b-d132-4033-bcbf-a259531f4721@gmx.com \
    --to=quwenruo.btrfs@gmx.com \
    --cc=dsterba@suse.cz \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=wqu@suse.com \
    /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