Lines Matching refs:param
85 * @param: The parameter
94 int vfs_parse_fs_param_source(struct fs_context *fc, struct fs_parameter *param)
96 if (strcmp(param->key, "source") != 0)
99 if (param->type != fs_value_is_string)
105 fc->source = param->string;
106 param->string = NULL;
114 * @param: The parameter
127 int vfs_parse_fs_param(struct fs_context *fc, struct fs_parameter *param)
131 if (!param->key)
134 ret = vfs_parse_sb_flag(fc, param->key);
138 ret = security_fs_context_parse_param(fc, param);
146 ret = fc->ops->parse_param(fc, param);
154 ret = vfs_parse_fs_param_source(fc, param);
159 fc->fs_type->name, param->key);
175 struct fs_parameter param = {
182 param.string = kmemdup_nul(value, v_size, GFP_KERNEL);
183 if (!param.string)
185 param.type = fs_value_is_string;
188 ret = vfs_parse_fs_param(fc, ¶m);
189 kfree(param.string);
576 static int legacy_parse_param(struct fs_context *fc, struct fs_parameter *param)
583 ret = vfs_parse_fs_param_source(fc, param);
590 switch (param->type) {
592 len = 1 + param->size;
595 len += strlen(param->key);
599 param->key);
604 if (strchr(param->key, ',') ||
605 (param->type == fs_value_is_string &&
606 memchr(param->string, ',', param->size)))
608 param->key);
617 len = strlen(param->key);
618 memcpy(ctx->legacy_data + size, param->key, len);
620 if (param->type == fs_value_is_string) {
622 memcpy(ctx->legacy_data + size, param->string, param->size);
623 size += param->size;