Lines Matching refs:fc

264 				 struct fs_context *fc)  in ceph_parse_old_source()  argument
267 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_parse_old_source()
271 return invalfc(fc, "separator ':' missing in source"); in ceph_parse_old_source()
274 pctx->copts, fc->log.log, ','); in ceph_parse_old_source()
283 struct fs_context *fc) in ceph_parse_new_source() argument
287 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_parse_new_source()
300 return invalfc(fc, "missing cluster fsid"); in ceph_parse_new_source()
311 return invalfc(fc, "missing file system name"); in ceph_parse_new_source()
314 return invalfc(fc, "Invalid FSID"); in ceph_parse_new_source()
320 return invalfc(fc, "Mismatching mds_namespace"); in ceph_parse_new_source()
349 static int ceph_parse_source(struct fs_parameter *param, struct fs_context *fc) in ceph_parse_source() argument
351 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_parse_source()
358 return invalfc(fc, "Empty source"); in ceph_parse_source()
378 return invalfc(fc, "Path missing in source"); in ceph_parse_source()
385 ret = ceph_parse_new_source(dev_name, dev_name_end, fc); in ceph_parse_source()
390 ret = ceph_parse_old_source(dev_name, dev_name_end, fc); in ceph_parse_source()
395 fc->source = param->string; in ceph_parse_source()
401 struct fs_context *fc) in ceph_parse_mon_addr() argument
403 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_parse_mon_addr()
411 pctx->copts, fc->log.log, '/'); in ceph_parse_mon_addr()
414 static int ceph_parse_mount_param(struct fs_context *fc, in ceph_parse_mount_param() argument
417 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_parse_mount_param()
423 ret = ceph_parse_param(param, pctx->copts, fc->log.log); in ceph_parse_mount_param()
427 token = fs_parse(fc, ceph_mount_parameters, param, &result); in ceph_parse_mount_param()
435 return invalfc(fc, "snapdirname too long"); in ceph_parse_mount_param()
442 return invalfc(fc, "Mismatching mds_namespace"); in ceph_parse_mount_param()
457 if (fc->source) in ceph_parse_mount_param()
458 return invalfc(fc, "Multiple sources specified"); in ceph_parse_mount_param()
459 return ceph_parse_source(param, fc); in ceph_parse_mount_param()
461 return ceph_parse_mon_addr(param, fc); in ceph_parse_mount_param()
551 return invalfc(fc, "fscache support is disabled"); in ceph_parse_mount_param()
580 fc->sb_flags |= SB_POSIXACL; in ceph_parse_mount_param()
582 return invalfc(fc, "POSIX ACL support is disabled"); in ceph_parse_mount_param()
585 fc->sb_flags &= ~SB_POSIXACL; in ceph_parse_mount_param()
612 warnfc(fc, "Value of option \"%s\" is unrecognized", in ceph_parse_mount_param()
615 warnfc(fc, "Conflicting test_dummy_encryption options"); in ceph_parse_mount_param()
619 warnfc(fc, in ceph_parse_mount_param()
629 return invalfc(fc, "%s out of range", param->key); in ceph_parse_mount_param()
1106 struct fs_context *fc, in ceph_apply_test_dummy_encryption() argument
1115 if (fc->purpose == FS_CONTEXT_FOR_RECONFIGURE && in ceph_apply_test_dummy_encryption()
1120 errorfc(fc, "Can't set test_dummy_encryption on remount"); in ceph_apply_test_dummy_encryption()
1129 errorfc(fc, "Conflicting test_dummy_encryption options"); in ceph_apply_test_dummy_encryption()
1136 warnfc(fc, "test_dummy_encryption mode enabled"); in ceph_apply_test_dummy_encryption()
1141 struct fs_context *fc, in ceph_apply_test_dummy_encryption() argument
1152 struct fs_context *fc) in ceph_real_mount() argument
1172 err = ceph_fscache_register_fs(fsc, fc); in ceph_real_mount()
1177 err = ceph_apply_test_dummy_encryption(fsc->sb, fc, in ceph_real_mount()
1207 static int ceph_set_super(struct super_block *s, struct fs_context *fc) in ceph_set_super() argument
1233 ret = set_anon_super_fc(s, fc); in ceph_set_super()
1242 static int ceph_compare_super(struct super_block *sb, struct fs_context *fc) in ceph_compare_super() argument
1244 struct ceph_fs_client *new = fc->s_fs_info; in ceph_compare_super()
1261 if (fc->sb_flags != (sb->s_flags & ~SB_BORN)) { in ceph_compare_super()
1302 static int ceph_get_tree(struct fs_context *fc) in ceph_get_tree() argument
1304 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_get_tree()
1315 if (!fc->source) in ceph_get_tree()
1316 return invalfc(fc, "No source"); in ceph_get_tree()
1318 return invalfc(fc, "No monitor address"); in ceph_get_tree()
1336 fc->s_fs_info = fsc; in ceph_get_tree()
1337 sb = sget_fc(fc, compare_super, ceph_set_super); in ceph_get_tree()
1338 fc->s_fs_info = NULL; in ceph_get_tree()
1355 res = ceph_real_mount(fsc, fc); in ceph_get_tree()
1363 fc->root = fsc->sb->s_root; in ceph_get_tree()
1383 static void ceph_free_fc(struct fs_context *fc) in ceph_free_fc() argument
1385 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_free_fc()
1394 static int ceph_reconfigure_fc(struct fs_context *fc) in ceph_reconfigure_fc() argument
1397 struct ceph_parse_opts_ctx *pctx = fc->fs_private; in ceph_reconfigure_fc()
1399 struct super_block *sb = fc->root->d_sb; in ceph_reconfigure_fc()
1402 err = ceph_apply_test_dummy_encryption(sb, fc, fsopt); in ceph_reconfigure_fc()
1438 static int ceph_init_fs_context(struct fs_context *fc) in ceph_init_fs_context() argument
1472 fc->sb_flags |= SB_POSIXACL; in ceph_init_fs_context()
1475 fc->fs_private = pctx; in ceph_init_fs_context()
1476 fc->ops = &ceph_context_ops; in ceph_init_fs_context()