On Tue, Feb 27, 2024 at 04:49:04PM -0600, Eric Sandeen wrote: > On 2/26/24 4:46 PM, Bill O'Donnell wrote: > > Convert the qnx4 filesystem to use the new mount API. > > > > Tested mount, umount, and remount using a qnx4 boot image. > > > > Signed-off-by: Bill O'Donnell <bodonnel@xxxxxxxxxx> > > --- > > fs/qnx4/inode.c | 49 +++++++++++++++++++++++++++++++------------------ > > 1 file changed, 31 insertions(+), 18 deletions(-) > > > > diff --git a/fs/qnx4/inode.c b/fs/qnx4/inode.c > > index 6eb9bb369b57..c36fbe45a0e9 100644 > > --- a/fs/qnx4/inode.c > > +++ b/fs/qnx4/inode.c > > @@ -21,6 +21,7 @@ > > #include <linux/buffer_head.h> > > #include <linux/writeback.h> > > #include <linux/statfs.h> > > +#include <linux/fs_context.h> > > #include "qnx4.h" > > > > #define QNX4_VERSION 4 > > @@ -30,28 +31,33 @@ static const struct super_operations qnx4_sops; > > > > static struct inode *qnx4_alloc_inode(struct super_block *sb); > > static void qnx4_free_inode(struct inode *inode); > > -static int qnx4_remount(struct super_block *sb, int *flags, char *data); > > static int qnx4_statfs(struct dentry *, struct kstatfs *); > > +static int qnx4_get_tree(struct fs_context *fc); > > > > static const struct super_operations qnx4_sops = > > { > > .alloc_inode = qnx4_alloc_inode, > > .free_inode = qnx4_free_inode, > > .statfs = qnx4_statfs, > > - .remount_fs = qnx4_remount, > > }; > > > > -static int qnx4_remount(struct super_block *sb, int *flags, char *data) > > +static int qnx4_reconfigure(struct fs_context *fc) > > { > > - struct qnx4_sb_info *qs; > > + struct super_block *sb = fc->root->d_sb; > > + struct qnx4_sb_info *qs = sb->s_fs_info; > > You assign *qs here at declaration > > > sync_filesystem(sb); > > qs = qnx4_sb(sb); > > and then reassign it here (qnx4_sb() just gets sb->s_fs_info as well) > > Don't need both, I'd stick with just the uninitialized *qs as was > originally in qnx4_remount(). I did wonder about that. I'll submit a v2. Thanks for your review. -Bill > > The rest looks fine to me, > -Eric > >