On Tue, Aug 01, 2023 at 05:43:33PM +0200, Christoph Hellwig wrote: > On Tue, Aug 01, 2023 at 03:09:01PM +0200, Christian Brauner wrote: > > Split the steps to create a superblock into a tiny helper. This will > > make the next patch easier to follow. > > > > Signed-off-by: Christian Brauner <brauner@xxxxxxxxxx> > > --- > > fs/fsopen.c | 45 +++++++++++++++++++++++++++++++-------------- > > 1 file changed, 31 insertions(+), 14 deletions(-) > > > > diff --git a/fs/fsopen.c b/fs/fsopen.c > > index fc9d2d9fd234..af2ff05dcee5 100644 > > --- a/fs/fsopen.c > > +++ b/fs/fsopen.c > > @@ -209,6 +209,36 @@ SYSCALL_DEFINE3(fspick, int, dfd, const char __user *, path, unsigned int, flags > > return ret; > > } > > > > +static int vfs_cmd_create(struct fs_context *fc) > > +{ > > + struct super_block *sb; > > + int ret; > > + > > + if (fc->phase != FS_CONTEXT_CREATE_PARAMS) > > + return -EBUSY; > > + > > + if (!mount_capable(fc)) > > + return -EPERM; > > + > > + fc->phase = FS_CONTEXT_CREATING; > > + > > + ret = vfs_get_tree(fc); > > + if (ret) > > + return ret; > > The error handling here now fails to set FS_CONTEXT_FAILED. > > Also at a very minimum I'd also want a helper for the reconfigure > case to mirror this one. But I think the whole sys_fsconfig and That's acceptable.