Lines Matching refs:fsc

140 static int fuse_reconfigure(struct fs_context *fsc)  in fuse_reconfigure()  argument
142 struct super_block *sb = fsc->root->d_sb; in fuse_reconfigure()
145 if (fsc->sb_flags & SB_MANDLOCK) in fuse_reconfigure()
620 static int fuse_parse_param(struct fs_context *fsc, struct fs_parameter *param) in fuse_parse_param() argument
623 struct fuse_fs_context *ctx = fsc->fs_private; in fuse_parse_param()
626 if (fsc->purpose == FS_CONTEXT_FOR_RECONFIGURE) { in fuse_parse_param()
631 if (fsc->oldapi) in fuse_parse_param()
634 return invalfc(fsc, "No changes allowed in reconfigure"); in fuse_parse_param()
637 opt = fs_parse(fsc, fuse_fs_parameters, param, &result); in fuse_parse_param()
643 if (fsc->source) in fuse_parse_param()
644 return invalfc(fsc, "Multiple sources specified"); in fuse_parse_param()
645 fsc->source = param->string; in fuse_parse_param()
651 return invalfc(fsc, "Multiple subtypes specified"); in fuse_parse_param()
663 return invalfc(fsc, "Invalid rootmode"); in fuse_parse_param()
669 ctx->user_id = make_kuid(fsc->user_ns, result.uint_32); in fuse_parse_param()
671 return invalfc(fsc, "Invalid user_id"); in fuse_parse_param()
676 ctx->group_id = make_kgid(fsc->user_ns, result.uint_32); in fuse_parse_param()
678 return invalfc(fsc, "Invalid group_id"); in fuse_parse_param()
696 return invalfc(fsc, "blksize only supported for fuseblk"); in fuse_parse_param()
707 static void fuse_free_fsc(struct fs_context *fsc) in fuse_free_fsc() argument
709 struct fuse_fs_context *ctx = fsc->fs_private; in fuse_free_fsc()
1406 static int fuse_get_tree_submount(struct fs_context *fsc) in fuse_get_tree_submount() argument
1409 struct fuse_inode *mp_fi = fsc->fs_private; in fuse_get_tree_submount()
1419 fsc->s_fs_info = fm; in fuse_get_tree_submount()
1420 sb = sget_fc(fsc, NULL, set_anon_super_fc); in fuse_get_tree_submount()
1421 if (fsc->s_fs_info) in fuse_get_tree_submount()
1438 fsc->root = dget(sb->s_root); in fuse_get_tree_submount()
1447 int fuse_init_fs_context_submount(struct fs_context *fsc) in fuse_init_fs_context_submount() argument
1449 fsc->ops = &fuse_context_submount_ops; in fuse_init_fs_context_submount()
1556 static int fuse_fill_super(struct super_block *sb, struct fs_context *fsc) in fuse_fill_super() argument
1558 struct fuse_fs_context *ctx = fsc->fs_private; in fuse_fill_super()
1587 static int fuse_set_no_super(struct super_block *sb, struct fs_context *fsc) in fuse_set_no_super() argument
1592 static int fuse_test_super(struct super_block *sb, struct fs_context *fsc) in fuse_test_super() argument
1595 return fsc->sget_key == get_fuse_conn_super(sb); in fuse_test_super()
1598 static int fuse_get_tree(struct fs_context *fsc) in fuse_get_tree() argument
1600 struct fuse_fs_context *ctx = fsc->fs_private; in fuse_get_tree()
1617 fuse_conn_init(fc, fm, fsc->user_ns, &fuse_dev_fiq_ops, NULL); in fuse_get_tree()
1620 fsc->s_fs_info = fm; in fuse_get_tree()
1626 err = get_tree_bdev(fsc, fuse_fill_super); in fuse_get_tree()
1643 fsc->sget_key = fud->fc; in fuse_get_tree()
1644 sb = sget_fc(fsc, fuse_test_super, fuse_set_no_super); in fuse_get_tree()
1647 fsc->root = dget(sb->s_root); in fuse_get_tree()
1649 err = get_tree_nodev(fsc, fuse_fill_super); in fuse_get_tree()
1652 if (fsc->s_fs_info) in fuse_get_tree()
1669 static int fuse_init_fs_context(struct fs_context *fsc) in fuse_init_fs_context() argument
1682 if (fsc->fs_type == &fuseblk_fs_type) { in fuse_init_fs_context()
1688 fsc->fs_private = ctx; in fuse_init_fs_context()
1689 fsc->ops = &fuse_context_ops; in fuse_init_fs_context()