On Tue, 2019-08-27 at 08:42 -0400, Brian Foster wrote: > On Fri, Aug 23, 2019 at 08:59:54AM +0800, Ian Kent wrote: > > Much of the code in xfs_fs_fill_super() will be used by the fill > > super > > function of the new mount-api. > > > > So refactor the common code into a helper in an attempt to show > > what's > > actually changed. > > > > Signed-off-by: Ian Kent <raven@xxxxxxxxxx> > > --- > > fs/xfs/xfs_super.c | 65 ++++++++++++++++++++++++++++++++++---- > > -------------- > > 1 file changed, 42 insertions(+), 23 deletions(-) > > > > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > > index 7cdda17ee0ff..d3fc9938987d 100644 > > --- a/fs/xfs/xfs_super.c > > +++ b/fs/xfs/xfs_super.c > ... > > @@ -1885,6 +1868,42 @@ xfs_fs_fill_super( > > goto out_free_sb; > > } > > > > +STATIC int > > +xfs_fs_fill_super( > > + struct super_block *sb, > > + void *data, > > + int silent) > > +{ > > + struct xfs_mount *mp = NULL; > > + int error = -ENOMEM; > > + > > + /* > > + * allocate mp and do all low-level struct initializations > > before we > > + * attach it to the super > > + */ > > + mp = xfs_mount_alloc(sb); > > + if (!mp) > > + goto out; > > + sb->s_fs_info = mp; > > + > > + error = xfs_parseargs(mp, (char *)data); > > + if (error) > > + goto out_free_fsname; > > + > > + error = __xfs_fs_fill_super(mp, silent); > > + if (error) > > + goto out_free_fsname; > > + > > + return 0; > > + > > + out_free_fsname: > > + sb->s_fs_info = NULL; > > + xfs_free_fsname(mp); > > + kfree(mp); > > +out: > > + return error; > > I know this is copied from the existing function, but there's really > no > need for an out label here. We can just return -ENOMEM in the one > user > above. Aside from that nit the rest looks fine to me. That's sensible, I'll do that. And btw, thanks for spending the time to look at the patches. Ian > > Brian > > > +} > > + > > STATIC void > > xfs_fs_put_super( > > struct super_block *sb) > >