Lines Matching refs:config

78 static const char *ovl_uuid_mode(struct ovl_config *config)  in ovl_uuid_mode()  argument
80 return ovl_parameter_uuid[config->uuid].name; in ovl_uuid_mode()
95 const char *ovl_xino_mode(struct ovl_config *config) in ovl_xino_mode() argument
97 return ovl_parameter_xino[config->xino].name; in ovl_xino_mode()
113 static const char *ovl_redirect_mode(struct ovl_config *config) in ovl_redirect_mode() argument
115 return ovl_parameter_redirect_dir[config->redirect_mode].name; in ovl_redirect_mode()
132 static const char *ovl_verity_mode(struct ovl_config *config) in ovl_verity_mode() argument
134 return ovl_parameter_verity[config->verity_mode].name; in ovl_verity_mode()
340 struct ovl_config *config = &ofs->config; in ovl_add_layer() local
346 swap(config->workdir, *pname); in ovl_add_layer()
350 swap(config->upperdir, *pname); in ovl_add_layer()
589 struct ovl_config *config = &ofs->config; in ovl_parse_param() local
627 config->default_permissions = true; in ovl_parse_param()
630 config->redirect_mode = result.uint_32; in ovl_parse_param()
631 if (config->redirect_mode == OVL_REDIRECT_OFF) { in ovl_parse_param()
632 config->redirect_mode = ovl_redirect_always_follow ? in ovl_parse_param()
639 config->index = result.uint_32; in ovl_parse_param()
643 config->uuid = result.uint_32; in ovl_parse_param()
646 config->nfs_export = result.uint_32; in ovl_parse_param()
650 config->xino = result.uint_32; in ovl_parse_param()
653 config->metacopy = result.uint_32; in ovl_parse_param()
657 config->verity_mode = result.uint_32; in ovl_parse_param()
660 config->ovl_volatile = true; in ovl_parse_param()
663 config->userxattr = true; in ovl_parse_param()
765 ofs->config.redirect_mode = ovl_redirect_mode_def(); in ovl_init_fs_context()
766 ofs->config.index = ovl_index_def; in ovl_init_fs_context()
767 ofs->config.uuid = ovl_uuid_def(); in ovl_init_fs_context()
768 ofs->config.nfs_export = ovl_nfs_export_def; in ovl_init_fs_context()
769 ofs->config.xino = ovl_xino_def(); in ovl_init_fs_context()
770 ofs->config.metacopy = ovl_metacopy_def; in ovl_init_fs_context()
799 mounts = (struct vfsmount **) ofs->config.lowerdirs; in ovl_free_fs()
802 kfree(ofs->config.lowerdirs[i]); in ovl_free_fs()
811 kfree(ofs->config.lowerdirs); in ovl_free_fs()
812 kfree(ofs->config.upperdir); in ovl_free_fs()
813 kfree(ofs->config.workdir); in ovl_free_fs()
820 struct ovl_config *config) in ovl_fs_params_verify() argument
825 if (!config->upperdir) { in ovl_fs_params_verify()
826 if (config->workdir) { in ovl_fs_params_verify()
828 config->workdir); in ovl_fs_params_verify()
829 kfree(config->workdir); in ovl_fs_params_verify()
830 config->workdir = NULL; in ovl_fs_params_verify()
832 if (config->index && set.index) { in ovl_fs_params_verify()
836 config->index = false; in ovl_fs_params_verify()
839 if (!config->upperdir && config->ovl_volatile) { in ovl_fs_params_verify()
841 config->ovl_volatile = false; in ovl_fs_params_verify()
844 if (!config->upperdir && config->uuid == OVL_UUID_ON) { in ovl_fs_params_verify()
846 config->uuid = OVL_UUID_NULL; in ovl_fs_params_verify()
850 if (config->verity_mode && !config->metacopy) { in ovl_fs_params_verify()
854 ovl_verity_mode(config)); in ovl_fs_params_verify()
858 config->metacopy = true; in ovl_fs_params_verify()
865 if (!config->upperdir && config->redirect_mode == OVL_REDIRECT_FOLLOW) in ovl_fs_params_verify()
866 config->redirect_mode = OVL_REDIRECT_ON; in ovl_fs_params_verify()
869 if (config->metacopy && config->redirect_mode != OVL_REDIRECT_ON) { in ovl_fs_params_verify()
872 ovl_redirect_mode(config)); in ovl_fs_params_verify()
875 if (config->verity_mode && set.redirect) { in ovl_fs_params_verify()
877 ovl_verity_mode(config), ovl_redirect_mode(config)); in ovl_fs_params_verify()
886 ovl_redirect_mode(config)); in ovl_fs_params_verify()
887 config->metacopy = false; in ovl_fs_params_verify()
890 config->redirect_mode = OVL_REDIRECT_ON; in ovl_fs_params_verify()
895 if (config->nfs_export && !config->index) { in ovl_fs_params_verify()
896 if (!config->upperdir && in ovl_fs_params_verify()
897 config->redirect_mode != OVL_REDIRECT_NOFOLLOW) { in ovl_fs_params_verify()
899 config->nfs_export = false; in ovl_fs_params_verify()
909 config->nfs_export = false; in ovl_fs_params_verify()
912 config->index = true; in ovl_fs_params_verify()
917 if (config->nfs_export && config->metacopy) { in ovl_fs_params_verify()
928 config->nfs_export = false; in ovl_fs_params_verify()
929 } else if (config->verity_mode) { in ovl_fs_params_verify()
935 ovl_verity_mode(config)); in ovl_fs_params_verify()
936 config->nfs_export = false; in ovl_fs_params_verify()
943 config->metacopy = false; in ovl_fs_params_verify()
949 if (config->userxattr) { in ovl_fs_params_verify()
951 config->redirect_mode != OVL_REDIRECT_NOFOLLOW) { in ovl_fs_params_verify()
953 ovl_redirect_mode(config)); in ovl_fs_params_verify()
956 if (config->metacopy && set.metacopy) { in ovl_fs_params_verify()
960 if (config->verity_mode) { in ovl_fs_params_verify()
962 ovl_verity_mode(config)); in ovl_fs_params_verify()
971 config->redirect_mode = OVL_REDIRECT_NOFOLLOW; in ovl_fs_params_verify()
972 config->metacopy = false; in ovl_fs_params_verify()
979 if (!config->userxattr && !capable(CAP_SYS_ADMIN)) { in ovl_fs_params_verify()
981 config->redirect_mode != OVL_REDIRECT_NOFOLLOW) { in ovl_fs_params_verify()
985 if (config->metacopy && set.metacopy) { in ovl_fs_params_verify()
989 if (config->verity_mode) { in ovl_fs_params_verify()
1003 if (ctx->nr_data > 0 && !config->metacopy) { in ovl_fs_params_verify()
1024 char **lowerdirs = ofs->config.lowerdirs; in ovl_show_options()
1046 if (ofs->config.upperdir) { in ovl_show_options()
1047 seq_show_option(m, "upperdir", ofs->config.upperdir); in ovl_show_options()
1048 seq_show_option(m, "workdir", ofs->config.workdir); in ovl_show_options()
1050 if (ofs->config.default_permissions) in ovl_show_options()
1052 if (ofs->config.redirect_mode != ovl_redirect_mode_def()) in ovl_show_options()
1054 ovl_redirect_mode(&ofs->config)); in ovl_show_options()
1055 if (ofs->config.index != ovl_index_def) in ovl_show_options()
1056 seq_printf(m, ",index=%s", ofs->config.index ? "on" : "off"); in ovl_show_options()
1057 if (ofs->config.uuid != ovl_uuid_def()) in ovl_show_options()
1058 seq_printf(m, ",uuid=%s", ovl_uuid_mode(&ofs->config)); in ovl_show_options()
1059 if (ofs->config.nfs_export != ovl_nfs_export_def) in ovl_show_options()
1060 seq_printf(m, ",nfs_export=%s", ofs->config.nfs_export ? in ovl_show_options()
1062 if (ofs->config.xino != ovl_xino_def() && !ovl_same_fs(ofs)) in ovl_show_options()
1063 seq_printf(m, ",xino=%s", ovl_xino_mode(&ofs->config)); in ovl_show_options()
1064 if (ofs->config.metacopy != ovl_metacopy_def) in ovl_show_options()
1066 ofs->config.metacopy ? "on" : "off"); in ovl_show_options()
1067 if (ofs->config.ovl_volatile) in ovl_show_options()
1069 if (ofs->config.userxattr) in ovl_show_options()
1071 if (ofs->config.verity_mode != ovl_verity_mode_def()) in ovl_show_options()
1073 ovl_verity_mode(&ofs->config)); in ovl_show_options()