On Fri, Jun 16, 2023 at 4:37 PM Amir Goldstein <amir73il@xxxxxxxxx> wrote: > > On Fri, Jun 16, 2023 at 4:28 PM Christian Brauner <brauner@xxxxxxxxxx> wrote: > > > > On Fri, Jun 16, 2023 at 04:21:29PM +0300, Amir Goldstein wrote: > > > On Tue, Jun 13, 2023 at 5:49 PM Christian Brauner <brauner@xxxxxxxxxx> wrote: > > > > > > > > We recently ported util-linux to the new mount api. Now the mount(8) > > > > tool will by default use the new mount api. While trying hard to fall > > > > back to the old mount api gracefully there are still cases where we run > > > > into issues that are difficult to handle nicely. > > > > > > > > Now with mount(8) and libmount supporting the new mount api I expect an > > > > increase in the number of bug reports and issues we're going to see with > > > > filesystems that don't yet support the new mount api. So it's time we > > > > rectify this. > > > > > > > > Signed-off-by: Christian Brauner <brauner@xxxxxxxxxx> > > > > --- > > > > fs/overlayfs/ovl_entry.h | 2 +- > > > > fs/overlayfs/super.c | 557 ++++++++++++++++++++++++++--------------------- > > > > 2 files changed, 305 insertions(+), 254 deletions(-) > > > > > > > > diff --git a/fs/overlayfs/ovl_entry.h b/fs/overlayfs/ovl_entry.h > > > > index e5207c4bf5b8..c72433c06006 100644 > > > > --- a/fs/overlayfs/ovl_entry.h > > > > +++ b/fs/overlayfs/ovl_entry.h > > > > @@ -12,7 +12,7 @@ struct ovl_config { > > > > bool default_permissions; > > > > bool redirect_dir; > > > > bool redirect_follow; > > > > - const char *redirect_mode; > > > > + unsigned redirect_mode; > > > > > > I have a separate patch to get rid of redirect_dir and redirect_follow > > > leaving only redirect_mode enum. > > > > > > I've already rebased your patches over this change in my branch. > > > > > > https://github.com/amir73il/linux/commits/fs-overlayfs-mount_api > > > > > > > > > > bool index; > > > > bool uuid; > > > > bool nfs_export; > > > > diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c > > > > index d9be5d318e1b..3392dc5d2082 100644 > > > > --- a/fs/overlayfs/super.c > > > > +++ b/fs/overlayfs/super.c > > > > @@ -16,6 +16,8 @@ > > > > #include <linux/posix_acl_xattr.h> > > > > #include <linux/exportfs.h> > > > > #include <linux/file.h> > > > > +#include <linux/fs_context.h> > > > > +#include <linux/fs_parser.h> > > > > #include "overlayfs.h" > > > > > > > > MODULE_AUTHOR("Miklos Szeredi <miklos@xxxxxxxxxx>"); > > > > @@ -59,6 +61,79 @@ module_param_named(metacopy, ovl_metacopy_def, bool, 0644); > > > > MODULE_PARM_DESC(metacopy, > > > > "Default to on or off for the metadata only copy up feature"); > > > > > > > > +enum { > > > > + Opt_lowerdir, > > > > + Opt_upperdir, > > > > + Opt_workdir, > > > > + Opt_default_permissions, > > > > + Opt_redirect_dir, > > > > + Opt_index, > > > > + Opt_uuid, > > > > + Opt_nfs_export, > > > > + Opt_userxattr, > > > > + Opt_xino, > > > > + Opt_metacopy, > > > > + Opt_volatile, > > > > +}; > > > > > > Renaming all those enums to lower case creates unneeded churn. > > > I undid that in my branch, so now the mount api porting patch is a > > > lot smaller. > > > > Every single filesystem apart from fuse and overlayfs uses the standard > > "Opt_" syntax. Only fuse and overlayfs use OPT_* all uppercase. Even the > > documenation uses Opt_* throughout. > > > > So I'd appreciate it if you please did not go out of your way to deviate > > from this. I already did the work to convert to the Opt_* format on > > purpose. If you want less churn however, then you can ofc move this to a > > preparatory patch that converts to the standard format. > > okay. > as long as the logical changes are separate from the renaming. Looking at it again, after my prep patches, this enum rename does not make reviewing harder, so I restored the Opt_* names and pushed to my branch. Thanks, Amir.