Lines Matching full:fc

217 cifs_parse_security_flavors(struct fs_context *fc, char *value, struct smb3_fs_context *ctx)  in cifs_parse_security_flavors()  argument
231 cifs_errorf(fc, "sec=krb5p is not supported. Use sec=krb5,seal instead\n"); in cifs_parse_security_flavors()
257 cifs_errorf(fc, "bad security option: %s\n", value); in cifs_parse_security_flavors()
265 cifs_parse_upcall_target(struct fs_context *fc, char *value, struct smb3_fs_context *ctx) in cifs_parse_upcall_target() argument
280 cifs_errorf(fc, "bad upcall target: %s\n", value); in cifs_parse_upcall_target()
297 cifs_parse_cache_flavor(struct fs_context *fc, char *value, struct smb3_fs_context *ctx) in cifs_parse_cache_flavor() argument
333 cifs_errorf(fc, "bad cache= option: %s\n", value); in cifs_parse_cache_flavor()
347 static int parse_reparse_flavor(struct fs_context *fc, char *value, in parse_reparse_flavor() argument
366 cifs_errorf(fc, "bad reparse= option: %s\n", value); in parse_reparse_flavor()
384 static int parse_symlink_flavor(struct fs_context *fc, char *value, in parse_symlink_flavor() argument
415 cifs_errorf(fc, "bad symlink= option: %s\n", value); in parse_symlink_flavor()
470 cifs_parse_smb_version(struct fs_context *fc, char *value, struct smb3_fs_context *ctx, bool is_smb… in cifs_parse_smb_version() argument
478 cifs_errorf(fc, "mount with legacy dialect disabled\n"); in cifs_parse_smb_version()
482 cifs_errorf(fc, "vers=1.0 (cifs) not permitted when mounting with smb3\n"); in cifs_parse_smb_version()
485 …cifs_errorf(fc, "Use of the less secure dialect vers=1.0 is not recommended unless required for ac… in cifs_parse_smb_version()
491 cifs_errorf(fc, "mount with legacy dialect disabled\n"); in cifs_parse_smb_version()
495 cifs_errorf(fc, "vers=2.0 not permitted when mounting with smb3\n"); in cifs_parse_smb_version()
503 cifs_errorf(fc, "vers=1.0 (cifs) mount not permitted when legacy dialects disabled\n"); in cifs_parse_smb_version()
506 cifs_errorf(fc, "vers=2.0 mount not permitted when legacy dialects disabled\n"); in cifs_parse_smb_version()
534 cifs_errorf(fc, "Unknown vers= option specified: %s\n", value); in cifs_parse_smb_version()
714 static void smb3_fs_context_free(struct fs_context *fc);
715 static int smb3_fs_context_parse_param(struct fs_context *fc,
717 static int smb3_fs_context_parse_monolithic(struct fs_context *fc,
719 static int smb3_get_tree(struct fs_context *fc);
720 static int smb3_reconfigure(struct fs_context *fc);
742 static int smb3_fs_context_parse_monolithic(struct fs_context *fc, in smb3_fs_context_parse_monolithic() argument
751 ret = security_sb_eat_lsm_opts(options, &fc->security); in smb3_fs_context_parse_monolithic()
783 ret = vfs_parse_fs_string(fc, key, value); in smb3_fs_context_parse_monolithic()
794 static int smb3_fs_context_validate(struct fs_context *fc) in smb3_fs_context_validate() argument
796 struct smb3_fs_context *ctx = smb3_fc2context(fc); in smb3_fs_context_validate()
799 cifs_errorf(fc, "SMB Direct requires Version >=3.0\n"); in smb3_fs_context_validate()
806 cifs_errorf(fc, "Multiuser mounts require kernels with CONFIG_KEYS enabled\n"); in smb3_fs_context_validate()
816 cifs_errorf(fc, "CIFS mount error: No usable UNC path provided in device string!\n"); in smb3_fs_context_validate()
822 cifs_errorf(fc, "Malformed UNC. Unable to find share name.\n"); in smb3_fs_context_validate()
867 static int smb3_get_tree_common(struct fs_context *fc) in smb3_get_tree_common() argument
869 struct smb3_fs_context *ctx = smb3_fc2context(fc); in smb3_get_tree_common()
873 root = cifs_smb3_do_mount(fc->fs_type, 0, ctx); in smb3_get_tree_common()
877 fc->root = root; in smb3_get_tree_common()
885 static int smb3_get_tree(struct fs_context *fc) in smb3_get_tree() argument
887 int err = smb3_fs_context_validate(fc); in smb3_get_tree()
893 ret = smb3_get_tree_common(fc); in smb3_get_tree()
898 static void smb3_fs_context_free(struct fs_context *fc) in smb3_fs_context_free() argument
900 struct smb3_fs_context *ctx = smb3_fc2context(fc); in smb3_fs_context_free()
909 static int smb3_verify_reconfigure_ctx(struct fs_context *fc, in smb3_verify_reconfigure_ctx() argument
914 cifs_errorf(fc, "can not change posixpaths during remount\n"); in smb3_verify_reconfigure_ctx()
918 cifs_errorf(fc, "can not change sec during remount\n"); in smb3_verify_reconfigure_ctx()
922 cifs_errorf(fc, "can not change multiuser during remount\n"); in smb3_verify_reconfigure_ctx()
927 cifs_errorf(fc, "can not change UNC during remount\n"); in smb3_verify_reconfigure_ctx()
932 cifs_errorf(fc, "can not change username during remount\n"); in smb3_verify_reconfigure_ctx()
938 cifs_errorf(fc, in smb3_verify_reconfigure_ctx()
942 cifs_errorf(fc, in smb3_verify_reconfigure_ctx()
949 cifs_errorf(fc, "can not change domainname during remount\n"); in smb3_verify_reconfigure_ctx()
953 cifs_errorf(fc, "can not change workstation_name during remount\n"); in smb3_verify_reconfigure_ctx()
958 cifs_errorf(fc, "can not change nodename during remount\n"); in smb3_verify_reconfigure_ctx()
963 cifs_errorf(fc, "can not change iocharset during remount\n"); in smb3_verify_reconfigure_ctx()
967 cifs_errorf(fc, "can not change unicode during remount\n"); in smb3_verify_reconfigure_ctx()
971 cifs_errorf(fc, "can not change nbsessinit during remount\n"); in smb3_verify_reconfigure_ctx()
1016 static int smb3_reconfigure(struct fs_context *fc) in smb3_reconfigure() argument
1018 struct smb3_fs_context *ctx = smb3_fc2context(fc); in smb3_reconfigure()
1019 struct dentry *root = fc->root; in smb3_reconfigure()
1030 rc = smb3_verify_reconfigure_ctx(fc, ctx, cifs_sb->ctx, need_recon); in smb3_reconfigure()
1105 ctx->rsize = rsize ? CIFS_ALIGN_RSIZE(fc, rsize) : cifs_sb->ctx->rsize; in smb3_reconfigure()
1106 ctx->wsize = wsize ? CIFS_ALIGN_WSIZE(fc, wsize) : cifs_sb->ctx->wsize; in smb3_reconfigure()
1119 static int smb3_fs_context_parse_param(struct fs_context *fc, in smb3_fs_context_parse_param() argument
1123 struct smb3_fs_context *ctx = smb3_fc2context(fc); in smb3_fs_context_parse_param()
1125 bool is_smb3 = !strcmp(fc->fs_type->name, "smb3"); in smb3_fs_context_parse_param()
1149 opt = fs_parse(fc, smb3_fs_parameters, param, &result); in smb3_fs_context_parse_param()
1157 cifs_errorf(fc, "CONFIG_CIFS_COMPRESSION kernel config option is unset\n"); in smb3_fs_context_parse_param()
1307 cifs_errorf(fc, "%s: Invalid blocksize\n", in smb3_fs_context_parse_param()
1311 ctx->bsize = CIFS_ALIGN_BSIZE(fc, result.uint_32); in smb3_fs_context_parse_param()
1328 cifs_errorf(fc, "%s: Invalid rasize %d vs. %d\n", in smb3_fs_context_parse_param()
1335 ctx->rsize = CIFS_ALIGN_RSIZE(fc, result.uint_32); in smb3_fs_context_parse_param()
1340 ctx->wsize = CIFS_ALIGN_WSIZE(fc, result.uint_32); in smb3_fs_context_parse_param()
1346 cifs_errorf(fc, "acregmax too large\n"); in smb3_fs_context_parse_param()
1353 cifs_errorf(fc, "acdirmax too large\n"); in smb3_fs_context_parse_param()
1360 cifs_errorf(fc, "timeout too large\n"); in smb3_fs_context_parse_param()
1365 cifs_errorf(fc, "actimeo ignored since acregmax or acdirmax specified\n"); in smb3_fs_context_parse_param()
1372 cifs_errorf(fc, "closetimeo too large\n"); in smb3_fs_context_parse_param()
1380 cifs_errorf(fc, "echo interval is out of bounds\n"); in smb3_fs_context_parse_param()
1390 cifs_errorf(fc, "%s: Invalid max_credits value\n", in smb3_fs_context_parse_param()
1398 cifs_errorf(fc, "%s: Invalid max_channels value, needs to be 1-%d\n", in smb3_fs_context_parse_param()
1409 cifs_errorf(fc, "%s: Invalid max_cached_dirs, needs to be 1 or more\n", in smb3_fs_context_parse_param()
1418 cifs_errorf(fc, "Invalid handle cache timeout, longer than 16 minutes\n"); in smb3_fs_context_parse_param()
1429 cifs_errorf(fc, "Unable to allocate memory for devname\n"); in smb3_fs_context_parse_param()
1432 cifs_errorf(fc, "Malformed UNC in devname\n"); in smb3_fs_context_parse_param()
1435 cifs_errorf(fc, "Unknown error parsing devname\n"); in smb3_fs_context_parse_param()
1441 cifs_errorf(fc, "OOM when copying UNC string\n"); in smb3_fs_context_parse_param()
1444 fc->source = kstrdup(ctx->source, GFP_KERNEL); in smb3_fs_context_parse_param()
1445 if (fc->source == NULL) { in smb3_fs_context_parse_param()
1446 cifs_errorf(fc, "OOM when copying UNC string\n"); in smb3_fs_context_parse_param()
1451 cifs_errorf(fc, "Cannot extract hostname from UNC string\n"); in smb3_fs_context_parse_param()
1601 if (cifs_parse_smb_version(fc, param->string, ctx, is_smb3) != 0) in smb3_fs_context_parse_param()
1606 if (cifs_parse_security_flavors(fc, param->string, ctx) != 0) in smb3_fs_context_parse_param()
1610 if (cifs_parse_upcall_target(fc, param->string, ctx) != 0) in smb3_fs_context_parse_param()
1614 if (cifs_parse_cache_flavor(fc, param->string, ctx) != 0) in smb3_fs_context_parse_param()
1619 cifs_errorf(fc, "Witness support needs CONFIG_CIFS_SWN_UPCALL config option\n"); in smb3_fs_context_parse_param()
1732 cifs_errorf(fc, "FS-Cache support needs CONFIG_CIFS_FSCACHE kernel config option set\n"); in smb3_fs_context_parse_param()
1753 cifs_errorf(fc, "persistenthandles mount options conflict\n"); in smb3_fs_context_parse_param()
1759 cifs_errorf(fc, "persistenthandles mount options conflict\n"); in smb3_fs_context_parse_param()
1770 cifs_errorf(fc, "persistenthandles mount options conflict\n"); in smb3_fs_context_parse_param()
1789 if (parse_reparse_flavor(fc, param->string, ctx)) in smb3_fs_context_parse_param()
1796 if (parse_symlink_flavor(fc, param->string, ctx)) in smb3_fs_context_parse_param()
1801 cifs_errorf(fc, "symlinkroot mount options must be absolute path\n"); in smb3_fs_context_parse_param()
1805 cifs_errorf(fc, "symlinkroot path too long (max path length: %u)\n", in smb3_fs_context_parse_param()
1817 cifs_errorf(fc, "multiuser mount option not supported with upcalltarget set as 'mount'\n"); in smb3_fs_context_parse_param()
1838 int smb3_init_fs_context(struct fs_context *fc) in smb3_init_fs_context() argument
1929 fc->fs_private = ctx; in smb3_init_fs_context()
1930 fc->ops = &smb3_fs_context_ops; in smb3_init_fs_context()