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);
171 struct fs_parameter param = {
178 param.string = kmemdup_nul(value, v_size, GFP_KERNEL);
179 if (!param.string)
181 param.type = fs_value_is_string;
184 ret = vfs_parse_fs_param(fc, ¶m);
185 kfree(param.string);
525 static int legacy_parse_param(struct fs_context *fc, struct fs_parameter *param)
532 ret = vfs_parse_fs_param_source(fc, param);
539 switch (param->type) {
541 len = 1 + param->size;
544 len += strlen(param->key);
548 param->key);
553 if (strchr(param->key, ',') ||
554 (param->type == fs_value_is_string &&
555 memchr(param->string, ',', param->size)))
557 param->key);
566 len = strlen(param->key);
567 memcpy(ctx->legacy_data + size, param->key, len);
569 if (param->type == fs_value_is_string) {
571 memcpy(ctx->legacy_data + size, param->string, param->size);
572 size += param->size;