All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lukas Czerner <lczerner@redhat.com>
To: Sedat Dilek <sedat.dilek@gmail.com>
Cc: linux-ext4@vger.kernel.org, tytso@mit.edu,
	linux-fsdevel@vger.kernel.org,
	Carlos Maiolino <cmaiolino@redhat.com>
Subject: Re: [PATCH v4 00/13] ext4: new mount API conversion
Date: Thu, 28 Oct 2021 15:49:04 +0200	[thread overview]
Message-ID: <20211028134904.34tszlpgvfoxyzzu@work> (raw)
In-Reply-To: <CA+icZUWXjyZXMUzzKumG0GfHRzpYOXHJFSzvsPwE24B0G_wu=A@mail.gmail.com>

On Wed, Oct 27, 2021 at 11:39:42PM +0200, Sedat Dilek wrote:
> On Wed, Oct 27, 2021 at 11:27 PM Lukas Czerner <lczerner@redhat.com> wrote:
> >
> > After some time I am once again resurrecting the patchset to convert the
> > ext4 to use the new mount API
> > (Documentation/filesystems/mount_api.txt).
> >
> > The series can be applied on top of the current mainline tree and the work
> > is based on the patches from David Howells (thank you David). It was built
> > and tested with xfstests and a new ext4 mount options regression test that
> > was sent to the fstests list. You can check it out on github as well.
> >
> > https://github.com/lczerner/xfstests/tree/ext4_mount_test
> >
> > Here is a high level description of the patchset
> >
> > 1. Prepare the ext4 mount parameters required by the new mount API and use
> >    it for parsing, while still using the old API to get the options
> >    string.
> >
> >   fs_parse: allow parameter value to be empty
> >   ext4: Add fs parameter specifications for mount options
> >   ext4: move option validation to a separate function
> >   ext4: Change handle_mount_opt() to use fs_parameter
> >
> > 2. Remove the use of ext4 super block from all the parsing code, because
> >    with the new mount API the parsing is going to be done before we even
> >    get the super block.
> >
> >   ext4: Allow sb to be NULL in ext4_msg()
> >   ext4: move quota configuration out of handle_mount_opt()
> >   ext4: check ext2/3 compatibility outside handle_mount_opt()
> >   ext4: get rid of super block and sbi from handle_mount_ops()
> >
> > 3. Actually finish the separation of the parsing and super block setup
> >    into distinct steps. This is where the new ext4_fill_super() and
> >    ext4_remount() functions are created temporarily before the actual
> >    transition to the new API.
> >
> >   ext4: Completely separate options parsing and sb setup
> >
> > 4. Make some last preparations and actually switch the ext4 to use the
> >    new mount API.
> >
> >   ext4: clean up return values in handle_mount_opt()
> >   ext4: change token2str() to use ext4_param_specs
> >   ext4: switch to the new mount api
> >
> > 5. Cleanup the old unused structures and rearrange the parsing function.
> >
> >   ext4: Remove unused match_table_t tokens
> >
> > There is still a potential to do some cleanups and perhaps refactoring
> > such as using the fsparam_flag_no to remove the separate negative
> > options for example. However that can be done later after the conversion
> > to the new mount API which is the main purpose of the patchset.
> >
> > Signed-off-by: Lukas Czerner <lczerner@redhat.com>
> > Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
> > ---
> 
> Is this the Git branch to pull from...?
> 
> https://github.com/lczerner/linux/tree/ext4_mount_api_rebase
> https://github.com/lczerner/linux/commits/ext4_mount_api_rebase

Hi,

yes that's the branch. I just updated it with the v4 changes.

> 
> Any other requirements or recommendations other than "ext4: ext4 mount
> sanity test" (xfstests)?

No special requirements I don't think. The xfstest patch is on the
fstests list with subject "ext4: add test for all ext4/ext3/ext2 mount
options", or you can checkout my github branch above.

My testing involved said test, regular xfstests run as well as different
ext4 kernel configuration (diabled quota, enabled debug and so on). In
order to test the "dax" options then dax capable device is needed of
course and the test shoud run that automatically with it.

Thanks a lot testing!
-Lukas

> 
> Thanks.
> 
> - Sedat -
> 
> > v3 -> v4: Fix some typos, print exact quotafile type in log messages.
> >           Remove explicit "Ext4:" from some log messages
> > V2 -> V3: Rebase to the newer kernel, including new mount options.
> > V1 -> V2: Rebase to the newer kernel
> >
> > Lukas Czerner (13):
> >   fs_parse: allow parameter value to be empty
> >   ext4: Add fs parameter specifications for mount options
> >   ext4: move option validation to a separate function
> >   ext4: Change handle_mount_opt() to use fs_parameter
> >   ext4: Allow sb to be NULL in ext4_msg()
> >   ext4: move quota configuration out of handle_mount_opt()
> >   ext4: check ext2/3 compatibility outside handle_mount_opt()
> >   ext4: get rid of super block and sbi from handle_mount_ops()
> >   ext4: Completely separate options parsing and sb setup
> >   ext4: clean up return values in handle_mount_opt()
> >   ext4: change token2str() to use ext4_param_specs
> >   ext4: switch to the new mount api
> >   ext4: Remove unused match_table_t tokens
> >
> >  fs/ext4/super.c           | 1848 +++++++++++++++++++++++--------------
> >  fs/fs_parser.c            |   31 +-
> >  include/linux/fs_parser.h |    2 +-
> >  3 files changed, 1189 insertions(+), 692 deletions(-)
> >
> > --
> > 2.31.1
> >
> 


  reply	other threads:[~2021-10-28 13:50 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-27 14:18 [PATCH v4 00/13] ext4: new mount API conversion Lukas Czerner
2021-10-27 14:18 ` [PATCH v4 01/13] fs_parse: allow parameter value to be empty Lukas Czerner
2021-10-29  8:44   ` Christian Brauner
2021-11-01  9:25     ` Lukas Czerner
2021-10-27 14:18 ` [PATCH v4 02/13] ext4: Add fs parameter specifications for mount options Lukas Czerner
2021-10-27 14:18 ` [PATCH v4 03/13] ext4: move option validation to a separate function Lukas Czerner
2021-10-27 14:18 ` [PATCH v4 04/13] ext4: Change handle_mount_opt() to use fs_parameter Lukas Czerner
2021-10-27 14:18 ` [PATCH v4 05/13] ext4: Allow sb to be NULL in ext4_msg() Lukas Czerner
2021-10-27 14:18 ` [PATCH v4 06/13] ext4: move quota configuration out of handle_mount_opt() Lukas Czerner
2021-10-27 14:18 ` [PATCH v4 07/13] ext4: check ext2/3 compatibility outside handle_mount_opt() Lukas Czerner
2021-10-27 14:18 ` [PATCH v4 08/13] ext4: get rid of super block and sbi from handle_mount_ops() Lukas Czerner
2021-10-27 14:18 ` [PATCH v4 09/13] ext4: Completely separate options parsing and sb setup Lukas Czerner
2021-10-27 14:18 ` [PATCH v4 10/13] ext4: clean up return values in handle_mount_opt() Lukas Czerner
2021-10-27 14:18 ` [PATCH v4 11/13] ext4: change token2str() to use ext4_param_specs Lukas Czerner
2021-10-27 14:18 ` [PATCH v4 12/13] ext4: switch to the new mount api Lukas Czerner
2021-10-27 14:18 ` [PATCH v4 13/13] ext4: Remove unused match_table_t tokens Lukas Czerner
2021-10-27 21:39 ` [PATCH v4 00/13] ext4: new mount API conversion Sedat Dilek
2021-10-28 13:49   ` Lukas Czerner [this message]
2021-12-09 19:17 ` Theodore Y. Ts'o
2021-12-09 19:55   ` Lukas Czerner
2021-12-09 22:09     ` Theodore Y. Ts'o
2021-12-09 22:22 ` Theodore Ts'o

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=20211028134904.34tszlpgvfoxyzzu@work \
    --to=lczerner@redhat.com \
    --cc=cmaiolino@redhat.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=sedat.dilek@gmail.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.