1 /* SPDX-License-Identifier: GPL-2.0-only */ 1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 2 3 #include <linux/fs_context.h> 3 #include <linux/fs_context.h> 4 #include <linux/fs_parser.h> 4 #include <linux/fs_parser.h> 5 5 6 struct ovl_fs; 6 struct ovl_fs; 7 struct ovl_config; 7 struct ovl_config; 8 8 9 extern const struct fs_parameter_spec ovl_para 9 extern const struct fs_parameter_spec ovl_parameter_spec[]; 10 extern const struct constant_table ovl_paramet 10 extern const struct constant_table ovl_parameter_redirect_dir[]; 11 11 12 /* The set of options that user requested expl 12 /* The set of options that user requested explicitly via mount options */ 13 struct ovl_opt_set { 13 struct ovl_opt_set { 14 bool metacopy; 14 bool metacopy; 15 bool redirect; 15 bool redirect; 16 bool nfs_export; 16 bool nfs_export; 17 bool index; 17 bool index; 18 }; 18 }; 19 19 20 #define OVL_MAX_STACK 500 20 #define OVL_MAX_STACK 500 21 21 22 struct ovl_fs_context_layer { 22 struct ovl_fs_context_layer { 23 char *name; 23 char *name; 24 struct path path; 24 struct path path; 25 }; 25 }; 26 26 27 struct ovl_fs_context { 27 struct ovl_fs_context { 28 struct path upper; 28 struct path upper; 29 struct path work; 29 struct path work; 30 size_t capacity; 30 size_t capacity; 31 size_t nr; /* includes nr_data */ 31 size_t nr; /* includes nr_data */ 32 size_t nr_data; 32 size_t nr_data; 33 struct ovl_opt_set set; 33 struct ovl_opt_set set; 34 struct ovl_fs_context_layer *lower; 34 struct ovl_fs_context_layer *lower; 35 char *lowerdir_all; /* user provided l << 36 }; 35 }; 37 36 38 int ovl_init_fs_context(struct fs_context *fc) 37 int ovl_init_fs_context(struct fs_context *fc); 39 void ovl_free_fs(struct ovl_fs *ofs); 38 void ovl_free_fs(struct ovl_fs *ofs); 40 int ovl_fs_params_verify(const struct ovl_fs_c 39 int ovl_fs_params_verify(const struct ovl_fs_context *ctx, 41 struct ovl_config *co 40 struct ovl_config *config); 42 int ovl_show_options(struct seq_file *m, struc 41 int ovl_show_options(struct seq_file *m, struct dentry *dentry); 43 const char *ovl_xino_mode(struct ovl_config *c 42 const char *ovl_xino_mode(struct ovl_config *config); 44 43
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.