Lines Matching refs:fc

256 				 struct fs_context *fc)  in ceph_parse_old_source()  argument
259 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_parse_old_source()
263 return invalfc(fc, "separator ':' missing in source"); in ceph_parse_old_source()
266 pctx->copts, fc->log.log, ','); in ceph_parse_old_source()
275 struct fs_context *fc) in ceph_parse_new_source() argument
279 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_parse_new_source()
292 return invalfc(fc, "missing cluster fsid"); in ceph_parse_new_source()
303 return invalfc(fc, "missing file system name"); in ceph_parse_new_source()
306 return invalfc(fc, "Invalid FSID"); in ceph_parse_new_source()
312 return invalfc(fc, "Mismatching mds_namespace"); in ceph_parse_new_source()
341 static int ceph_parse_source(struct fs_parameter *param, struct fs_context *fc) in ceph_parse_source() argument
343 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_parse_source()
350 return invalfc(fc, "Empty source"); in ceph_parse_source()
370 return invalfc(fc, "Path missing in source"); in ceph_parse_source()
377 ret = ceph_parse_new_source(dev_name, dev_name_end, fc); in ceph_parse_source()
382 ret = ceph_parse_old_source(dev_name, dev_name_end, fc); in ceph_parse_source()
387 fc->source = param->string; in ceph_parse_source()
393 struct fs_context *fc) in ceph_parse_mon_addr() argument
395 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_parse_mon_addr()
403 pctx->copts, fc->log.log, '/'); in ceph_parse_mon_addr()
406 static int ceph_parse_mount_param(struct fs_context *fc, in ceph_parse_mount_param() argument
409 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_parse_mount_param()
415 ret = ceph_parse_param(param, pctx->copts, fc->log.log); in ceph_parse_mount_param()
419 token = fs_parse(fc, ceph_mount_parameters, param, &result); in ceph_parse_mount_param()
427 return invalfc(fc, "snapdirname too long"); in ceph_parse_mount_param()
434 return invalfc(fc, "Mismatching mds_namespace"); in ceph_parse_mount_param()
449 if (fc->source) in ceph_parse_mount_param()
450 return invalfc(fc, "Multiple sources specified"); in ceph_parse_mount_param()
451 return ceph_parse_source(param, fc); in ceph_parse_mount_param()
453 return ceph_parse_mon_addr(param, fc); in ceph_parse_mount_param()
543 return invalfc(fc, "fscache support is disabled"); in ceph_parse_mount_param()
572 fc->sb_flags |= SB_POSIXACL; in ceph_parse_mount_param()
574 return invalfc(fc, "POSIX ACL support is disabled"); in ceph_parse_mount_param()
577 fc->sb_flags &= ~SB_POSIXACL; in ceph_parse_mount_param()
610 warnfc(fc, "Value of option \"%s\" is unrecognized", in ceph_parse_mount_param()
613 warnfc(fc, "Conflicting test_dummy_encryption options"); in ceph_parse_mount_param()
617 warnfc(fc, in ceph_parse_mount_param()
627 return invalfc(fc, "%s out of range", param->key); in ceph_parse_mount_param()
1113 struct fs_context *fc, in ceph_apply_test_dummy_encryption() argument
1122 if (fc->purpose == FS_CONTEXT_FOR_RECONFIGURE && in ceph_apply_test_dummy_encryption()
1127 errorfc(fc, "Can't set test_dummy_encryption on remount"); in ceph_apply_test_dummy_encryption()
1136 errorfc(fc, "Conflicting test_dummy_encryption options"); in ceph_apply_test_dummy_encryption()
1143 warnfc(fc, "test_dummy_encryption mode enabled"); in ceph_apply_test_dummy_encryption()
1148 struct fs_context *fc, in ceph_apply_test_dummy_encryption() argument
1159 struct fs_context *fc) in ceph_real_mount() argument
1179 err = ceph_fscache_register_fs(fsc, fc); in ceph_real_mount()
1184 err = ceph_apply_test_dummy_encryption(fsc->sb, fc, in ceph_real_mount()
1214 static int ceph_set_super(struct super_block *s, struct fs_context *fc) in ceph_set_super() argument
1240 ret = set_anon_super_fc(s, fc); in ceph_set_super()
1249 static int ceph_compare_super(struct super_block *sb, struct fs_context *fc) in ceph_compare_super() argument
1251 struct ceph_fs_client *new = fc->s_fs_info; in ceph_compare_super()
1268 if (fc->sb_flags != (sb->s_flags & ~SB_BORN)) { in ceph_compare_super()
1309 static int ceph_get_tree(struct fs_context *fc) in ceph_get_tree() argument
1311 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_get_tree()
1322 if (!fc->source) in ceph_get_tree()
1323 return invalfc(fc, "No source"); in ceph_get_tree()
1325 return invalfc(fc, "No monitor address"); in ceph_get_tree()
1343 fc->s_fs_info = fsc; in ceph_get_tree()
1344 sb = sget_fc(fc, compare_super, ceph_set_super); in ceph_get_tree()
1345 fc->s_fs_info = NULL; in ceph_get_tree()
1362 res = ceph_real_mount(fsc, fc); in ceph_get_tree()
1370 fc->root = fsc->sb->s_root; in ceph_get_tree()
1390 static void ceph_free_fc(struct fs_context *fc) in ceph_free_fc() argument
1392 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_free_fc()
1401 static int ceph_reconfigure_fc(struct fs_context *fc) in ceph_reconfigure_fc() argument
1404 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_reconfigure_fc()
1406 struct super_block *sb = fc->root->d_sb; in ceph_reconfigure_fc()
1409 err = ceph_apply_test_dummy_encryption(sb, fc, fsopt); in ceph_reconfigure_fc()
1450 static int ceph_init_fs_context(struct fs_context *fc) in ceph_init_fs_context() argument
1484 fc->sb_flags |= SB_POSIXACL; in ceph_init_fs_context()
1487 fc->fs_private = pctx; in ceph_init_fs_context()
1488 fc->ops = &ceph_context_ops; in ceph_init_fs_context()