| 1 |
|
| 2 |
|
| 3 | #include <linux/fs_context.h>
|
| 4 | #include <linux/fs_parser.h>
|
| 5 |
|
| 6 | struct ovl_fs;
|
| 7 | struct ovl_config;
|
| 8 |
|
| 9 | extern const struct fs_parameter_spec ovl_parameter_spec[];
|
| 10 | extern const struct constant_table ovl_parameter_redirect_dir[];
|
| 11 |
|
| 12 |
|
| 13 | struct ovl_opt_set {
|
| 14 | bool metacopy;
|
| 15 | bool redirect;
|
| 16 | bool nfs_export;
|
| 17 | bool index;
|
| 18 | };
|
| 19 |
|
| 20 | #define OVL_MAX_STACK 500
|
| 21 |
|
| 22 | struct ovl_fs_context_layer {
|
| 23 | char *name;
|
| 24 | struct path path;
|
| 25 | };
|
| 26 |
|
| 27 | struct ovl_fs_context {
|
| 28 | struct path upper;
|
| 29 | struct path work;
|
| 30 | size_t capacity;
|
| 31 | size_t nr;
|
| 32 | size_t nr_data;
|
| 33 | struct ovl_opt_set set;
|
| 34 | struct ovl_fs_context_layer *lower;
|
| 35 | char *lowerdir_all;
|
| 36 | bool casefold_set;
|
| 37 | };
|
| 38 |
|
| 39 | int ovl_init_fs_context(struct fs_context *fc);
|
| 40 | void ovl_free_fs(struct ovl_fs *ofs);
|
| 41 | int ovl_fs_params_verify(const struct ovl_fs_context *ctx,
|
| 42 | struct ovl_config *config);
|
| 43 | int ovl_show_options(struct seq_file *m, struct dentry *dentry);
|
| 44 | const char *ovl_xino_mode(struct ovl_config *config);
|