Lines Matching refs:fsc
177 static int fuse_reconfigure(struct fs_context *fsc)
179 struct super_block *sb = fsc->root->d_sb;
182 if (fsc->sb_flags & SB_MANDLOCK)
749 static int fuse_parse_param(struct fs_context *fsc, struct fs_parameter *param)
752 struct fuse_fs_context *ctx = fsc->fs_private;
755 if (fsc->purpose == FS_CONTEXT_FOR_RECONFIGURE) {
760 if (fsc->oldapi)
763 return invalfc(fsc, "No changes allowed in reconfigure");
766 opt = fs_parse(fsc, fuse_fs_parameters, param, &result);
772 if (fsc->source)
773 return invalfc(fsc, "Multiple sources specified");
774 fsc->source = param->string;
780 return invalfc(fsc, "Multiple subtypes specified");
792 return invalfc(fsc, "Invalid rootmode");
798 ctx->user_id = make_kuid(fsc->user_ns, result.uint_32);
800 return invalfc(fsc, "Invalid user_id");
805 ctx->group_id = make_kgid(fsc->user_ns, result.uint_32);
807 return invalfc(fsc, "Invalid group_id");
825 return invalfc(fsc, "blksize only supported for fuseblk");
836 static void fuse_free_fsc(struct fs_context *fsc)
838 struct fuse_fs_context *ctx = fsc->fs_private;
1572 static int fuse_get_tree_submount(struct fs_context *fsc)
1575 struct fuse_inode *mp_fi = fsc->fs_private;
1585 fsc->s_fs_info = fm;
1586 sb = sget_fc(fsc, NULL, set_anon_super_fc);
1587 if (fsc->s_fs_info)
1604 fsc->root = dget(sb->s_root);
1613 int fuse_init_fs_context_submount(struct fs_context *fsc)
1615 fsc->ops = &fuse_context_submount_ops;
1722 static int fuse_fill_super(struct super_block *sb, struct fs_context *fsc)
1724 struct fuse_fs_context *ctx = fsc->fs_private;
1753 static int fuse_set_no_super(struct super_block *sb, struct fs_context *fsc)
1758 static int fuse_test_super(struct super_block *sb, struct fs_context *fsc)
1761 return fsc->sget_key == get_fuse_conn_super(sb);
1764 static int fuse_get_tree(struct fs_context *fsc)
1766 struct fuse_fs_context *ctx = fsc->fs_private;
1783 fuse_conn_init(fc, fm, fsc->user_ns, &fuse_dev_fiq_ops, NULL);
1786 fsc->s_fs_info = fm;
1792 err = get_tree_bdev(fsc, fuse_fill_super);
1809 fsc->sget_key = fud->fc;
1810 sb = sget_fc(fsc, fuse_test_super, fuse_set_no_super);
1813 fsc->root = dget(sb->s_root);
1815 err = get_tree_nodev(fsc, fuse_fill_super);
1818 if (fsc->s_fs_info)
1835 static int fuse_init_fs_context(struct fs_context *fsc)
1848 if (fsc->fs_type == &fuseblk_fs_type) {
1854 fsc->fs_private = ctx;
1855 fsc->ops = &fuse_context_ops;