From: Dave Chinner <david@fromorbit.com>
To: Christian Brauner <brauner@kernel.org>
Cc: Amir Goldstein <amir73il@gmail.com>,
Miklos Szeredi <miklos@szeredi.hu>,
linux-fsdevel@vger.kernel.org, linux-unionfs@vger.kernel.org
Subject: Re: [PATCH] ovl: port to new mount api
Date: Sun, 11 Jun 2023 08:32:28 +1000 [thread overview]
Message-ID: <ZIT5/ChoiLPEz5o6@dread.disaster.area> (raw)
In-Reply-To: <20230609-tasten-raumfahrt-7b8a499ef787@brauner>
On Fri, Jun 09, 2023 at 10:03:07AM +0200, Christian Brauner wrote:
> On Fri, Jun 09, 2023 at 10:38:15AM +0300, Amir Goldstein wrote:
> > On Fri, Jun 9, 2023 at 10:28 AM Christian Brauner <brauner@kernel.org> wrote:
> > > On Thu, Jun 08, 2023 at 09:29:39PM +0300, Amir Goldstein wrote:
> > > > > fs/overlayfs/super.c | 896 ++++++++++++++++++++++++++++++++-------------------
> > > > > 1 file changed, 568 insertions(+), 328 deletions(-)
> > > > >
> > > >
> > > > Very big patch - Not so easy to review.
> > > > It feels like a large refactoring mixed with the api change.
> > > > Can it easily be split to just the refactoring patch
> > > > and the api change patch? or any other split that will be
> > > > easier to review.
> > >
> > > I don't really think so because you can't do a piecemeal conversion
> > > unfortunately. But if you have concrete ideas I'm happy to hear them.
> > >
> >
> > To me it looks like besides using new api you changed the order
> > of config parsing to:
> > - fill ovl_config and sanitize path arguments
> > (replacing string with path in case of upper/workdir)
>
> Afaict this only makes sense if you cane have a sensible split between
> option parsing and superblock creation. While the new mount api does
> have that the old one doesn't. So ovl_fill_super() does option parsing,
> verification, and superblock creation.
This is the same problem we had with XFS and ext4 conversions, and
to a lesser extent all the other simpler ones that have been done.
There is no real intermediate step - the change from old parser to
new parser as an atomic unit of change comes down to a single large
patch. Yes, we whittled away at the edges to make it a bit smaller,
but in the end the core API changeover was still a single large
patch...
> So I honestly thing this might end up being churn for churn. But I'll do
> it if you insist.
Yup, based on the experience of converting other filesytsems, I
think it is largely a waste of time and effort to try to
significantly rework this into smaller chunks. The bulk of the work
has been done, reworking individual patches doesn't change the end
result, so just review it as is, merge it and move on with more
important stuff....
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
prev parent reply other threads:[~2023-06-10 22:32 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-08 16:07 [PATCH] ovl: port to new mount api Christian Brauner
2023-06-08 18:29 ` Amir Goldstein
2023-06-09 7:28 ` Christian Brauner
2023-06-09 7:38 ` Amir Goldstein
2023-06-09 8:03 ` Christian Brauner
2023-06-09 8:36 ` Miklos Szeredi
2023-06-09 9:55 ` Christian Brauner
2023-06-10 22:32 ` Dave Chinner [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=ZIT5/ChoiLPEz5o6@dread.disaster.area \
--to=david@fromorbit.com \
--cc=amir73il@gmail.com \
--cc=brauner@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-unionfs@vger.kernel.org \
--cc=miklos@szeredi.hu \
/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