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(). The rest looks fine to me, -Eric