aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2019-09-07 07:23:15 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2020-02-07 14:48:37 -0500
commitd7167b149943e38ad610191ecbb0800c78bbced9 (patch)
tree46f4043165c3f0f2aa9aa823dc545d98ece2562b /include/linux
parentfs_parser: remove fs_parameter_description name field (diff)
downloadlinux-dev-d7167b149943e38ad610191ecbb0800c78bbced9.tar.xz
linux-dev-d7167b149943e38ad610191ecbb0800c78bbced9.zip
fs_parse: fold fs_parameter_desc/fs_parameter_spec
The former contains nothing but a pointer to an array of the latter... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/fs.h4
-rw-r--r--include/linux/fs_parser.h12
-rw-r--r--include/linux/ramfs.h4
-rw-r--r--include/linux/shmem_fs.h3
4 files changed, 11 insertions, 12 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 98e0349adb52..5ace552a2a23 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -67,7 +67,7 @@ struct fscrypt_operations;
struct fsverity_info;
struct fsverity_operations;
struct fs_context;
-struct fs_parameter_description;
+struct fs_parameter_spec;
extern void __init inode_init(void);
extern void __init inode_init_early(void);
@@ -2224,7 +2224,7 @@ struct file_system_type {
#define FS_DISALLOW_NOTIFY_PERM 16 /* Disable fanotify permission events */
#define FS_RENAME_DOES_D_MOVE 32768 /* FS will handle d_move() during rename() internally. */
int (*init_fs_context)(struct fs_context *);
- const struct fs_parameter_description *parameters;
+ const struct fs_parameter_spec *parameters;
struct dentry *(*mount) (struct file_system_type *, int,
const char *, void *);
void (*kill_sb) (struct super_block *);
diff --git a/include/linux/fs_parser.h b/include/linux/fs_parser.h
index ac439ee50aab..dcbac245e7a3 100644
--- a/include/linux/fs_parser.h
+++ b/include/linux/fs_parser.h
@@ -56,10 +56,6 @@ struct fs_parameter_spec {
const void *data;
};
-struct fs_parameter_description {
- const struct fs_parameter_spec *specs; /* List of param specifications */
-};
-
/*
* Result of parse.
*/
@@ -74,12 +70,12 @@ struct fs_parse_result {
};
extern int __fs_parse(struct p_log *log,
- const struct fs_parameter_description *desc,
+ const struct fs_parameter_spec *desc,
struct fs_parameter *value,
struct fs_parse_result *result);
static inline int fs_parse(struct fs_context *fc,
- const struct fs_parameter_description *desc,
+ const struct fs_parameter_spec *desc,
struct fs_parameter *param,
struct fs_parse_result *result)
{
@@ -97,13 +93,13 @@ extern int lookup_constant(const struct constant_table tbl[], const char *name,
extern bool validate_constant_table(const struct constant_table *tbl, size_t tbl_size,
int low, int high, int special);
extern bool fs_validate_description(const char *name,
- const struct fs_parameter_description *desc);
+ const struct fs_parameter_spec *desc);
#else
static inline bool validate_constant_table(const struct constant_table *tbl, size_t tbl_size,
int low, int high, int special)
{ return true; }
static inline bool fs_validate_description(const char *name,
- const struct fs_parameter_description *desc)
+ const struct fs_parameter_spec *desc)
{ return true; }
#endif
diff --git a/include/linux/ramfs.h b/include/linux/ramfs.h
index b806a0ff6554..917528d102c4 100644
--- a/include/linux/ramfs.h
+++ b/include/linux/ramfs.h
@@ -2,6 +2,8 @@
#ifndef _LINUX_RAMFS_H
#define _LINUX_RAMFS_H
+#include <linux/fs_parser.h> // bleh...
+
struct inode *ramfs_get_inode(struct super_block *sb, const struct inode *dir,
umode_t mode, dev_t dev);
extern int ramfs_init_fs_context(struct fs_context *fc);
@@ -16,7 +18,7 @@ ramfs_nommu_expand_for_mapping(struct inode *inode, size_t newsize)
extern int ramfs_nommu_expand_for_mapping(struct inode *inode, size_t newsize);
#endif
-extern const struct fs_parameter_description ramfs_fs_parameters;
+extern const struct fs_parameter_spec ramfs_fs_parameters[];
extern const struct file_operations ramfs_file_operations;
extern const struct vm_operations_struct generic_file_vm_ops;
diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h
index de8e4b71e3ba..d56fefef8905 100644
--- a/include/linux/shmem_fs.h
+++ b/include/linux/shmem_fs.h
@@ -8,6 +8,7 @@
#include <linux/pagemap.h>
#include <linux/percpu_counter.h>
#include <linux/xattr.h>
+#include <linux/fs_parser.h>
/* inode in-kernel data */
@@ -49,7 +50,7 @@ static inline struct shmem_inode_info *SHMEM_I(struct inode *inode)
/*
* Functions in mm/shmem.c called directly from elsewhere:
*/
-extern const struct fs_parameter_description shmem_fs_parameters;
+extern const struct fs_parameter_spec shmem_fs_parameters[];
extern int shmem_init(void);
extern int shmem_init_fs_context(struct fs_context *fc);
extern struct file *shmem_file_setup(const char *name,