Lines Matching refs:config

79 static const char *ovl_uuid_mode(struct ovl_config *config)  in ovl_uuid_mode()  argument
81 return ovl_parameter_uuid[config->uuid].name; in ovl_uuid_mode()
96 const char *ovl_xino_mode(struct ovl_config *config) in ovl_xino_mode() argument
98 return ovl_parameter_xino[config->xino].name; in ovl_xino_mode()
114 static const char *ovl_redirect_mode(struct ovl_config *config) in ovl_redirect_mode() argument
116 return ovl_parameter_redirect_dir[config->redirect_mode].name; in ovl_redirect_mode()
133 static const char *ovl_verity_mode(struct ovl_config *config) in ovl_verity_mode() argument
135 return ovl_parameter_verity[config->verity_mode].name; in ovl_verity_mode()
342 struct ovl_config *config = &ofs->config; in ovl_add_layer() local
348 swap(config->workdir, *pname); in ovl_add_layer()
352 swap(config->upperdir, *pname); in ovl_add_layer()
591 struct ovl_config *config = &ofs->config; in ovl_parse_param() local
629 config->default_permissions = true; in ovl_parse_param()
632 config->redirect_mode = result.uint_32; in ovl_parse_param()
633 if (config->redirect_mode == OVL_REDIRECT_OFF) { in ovl_parse_param()
634 config->redirect_mode = ovl_redirect_always_follow ? in ovl_parse_param()
641 config->index = result.uint_32; in ovl_parse_param()
645 config->uuid = result.uint_32; in ovl_parse_param()
648 config->nfs_export = result.uint_32; in ovl_parse_param()
652 config->xino = result.uint_32; in ovl_parse_param()
655 config->metacopy = result.uint_32; in ovl_parse_param()
659 config->verity_mode = result.uint_32; in ovl_parse_param()
662 config->ovl_volatile = true; in ovl_parse_param()
665 config->userxattr = true; in ovl_parse_param()
790 ofs->config.redirect_mode = ovl_redirect_mode_def(); in ovl_init_fs_context()
791 ofs->config.index = ovl_index_def; in ovl_init_fs_context()
792 ofs->config.uuid = ovl_uuid_def(); in ovl_init_fs_context()
793 ofs->config.nfs_export = ovl_nfs_export_def; in ovl_init_fs_context()
794 ofs->config.xino = ovl_xino_def(); in ovl_init_fs_context()
795 ofs->config.metacopy = ovl_metacopy_def; in ovl_init_fs_context()
824 mounts = (struct vfsmount **) ofs->config.lowerdirs; in ovl_free_fs()
827 kfree(ofs->config.lowerdirs[i]); in ovl_free_fs()
836 kfree(ofs->config.lowerdirs); in ovl_free_fs()
837 kfree(ofs->config.upperdir); in ovl_free_fs()
838 kfree(ofs->config.workdir); in ovl_free_fs()
845 struct ovl_config *config) in ovl_fs_params_verify() argument
850 if (!config->upperdir) { in ovl_fs_params_verify()
851 if (config->workdir) { in ovl_fs_params_verify()
853 config->workdir); in ovl_fs_params_verify()
854 kfree(config->workdir); in ovl_fs_params_verify()
855 config->workdir = NULL; in ovl_fs_params_verify()
857 if (config->index && set.index) { in ovl_fs_params_verify()
861 config->index = false; in ovl_fs_params_verify()
864 if (!config->upperdir && config->ovl_volatile) { in ovl_fs_params_verify()
866 config->ovl_volatile = false; in ovl_fs_params_verify()
869 if (!config->upperdir && config->uuid == OVL_UUID_ON) { in ovl_fs_params_verify()
871 config->uuid = OVL_UUID_NULL; in ovl_fs_params_verify()
875 if (config->verity_mode && !config->metacopy) { in ovl_fs_params_verify()
879 ovl_verity_mode(config)); in ovl_fs_params_verify()
883 config->metacopy = true; in ovl_fs_params_verify()
890 if (!config->upperdir && config->redirect_mode == OVL_REDIRECT_FOLLOW) in ovl_fs_params_verify()
891 config->redirect_mode = OVL_REDIRECT_ON; in ovl_fs_params_verify()
894 if (config->metacopy && config->redirect_mode != OVL_REDIRECT_ON) { in ovl_fs_params_verify()
897 ovl_redirect_mode(config)); in ovl_fs_params_verify()
900 if (config->verity_mode && set.redirect) { in ovl_fs_params_verify()
902 ovl_verity_mode(config), ovl_redirect_mode(config)); in ovl_fs_params_verify()
911 ovl_redirect_mode(config)); in ovl_fs_params_verify()
912 config->metacopy = false; in ovl_fs_params_verify()
915 config->redirect_mode = OVL_REDIRECT_ON; in ovl_fs_params_verify()
920 if (config->nfs_export && !config->index) { in ovl_fs_params_verify()
921 if (!config->upperdir && in ovl_fs_params_verify()
922 config->redirect_mode != OVL_REDIRECT_NOFOLLOW) { in ovl_fs_params_verify()
924 config->nfs_export = false; in ovl_fs_params_verify()
934 config->nfs_export = false; in ovl_fs_params_verify()
937 config->index = true; in ovl_fs_params_verify()
942 if (config->nfs_export && config->metacopy) { in ovl_fs_params_verify()
953 config->nfs_export = false; in ovl_fs_params_verify()
954 } else if (config->verity_mode) { in ovl_fs_params_verify()
960 ovl_verity_mode(config)); in ovl_fs_params_verify()
961 config->nfs_export = false; in ovl_fs_params_verify()
968 config->metacopy = false; in ovl_fs_params_verify()
974 if (config->userxattr) { in ovl_fs_params_verify()
976 config->redirect_mode != OVL_REDIRECT_NOFOLLOW) { in ovl_fs_params_verify()
978 ovl_redirect_mode(config)); in ovl_fs_params_verify()
981 if (config->metacopy && set.metacopy) { in ovl_fs_params_verify()
985 if (config->verity_mode) { in ovl_fs_params_verify()
987 ovl_verity_mode(config)); in ovl_fs_params_verify()
996 config->redirect_mode = OVL_REDIRECT_NOFOLLOW; in ovl_fs_params_verify()
997 config->metacopy = false; in ovl_fs_params_verify()
1004 if (!config->userxattr && !capable(CAP_SYS_ADMIN)) { in ovl_fs_params_verify()
1006 config->redirect_mode != OVL_REDIRECT_NOFOLLOW) { in ovl_fs_params_verify()
1010 if (config->metacopy && set.metacopy) { in ovl_fs_params_verify()
1014 if (config->verity_mode) { in ovl_fs_params_verify()
1028 if (ctx->nr_data > 0 && !config->metacopy) { in ovl_fs_params_verify()
1049 char **lowerdirs = ofs->config.lowerdirs; in ovl_show_options()
1071 if (ofs->config.upperdir) { in ovl_show_options()
1072 seq_show_option(m, "upperdir", ofs->config.upperdir); in ovl_show_options()
1073 seq_show_option(m, "workdir", ofs->config.workdir); in ovl_show_options()
1075 if (ofs->config.default_permissions) in ovl_show_options()
1077 if (ofs->config.redirect_mode != ovl_redirect_mode_def()) in ovl_show_options()
1079 ovl_redirect_mode(&ofs->config)); in ovl_show_options()
1080 if (ofs->config.index != ovl_index_def) in ovl_show_options()
1081 seq_printf(m, ",index=%s", ofs->config.index ? "on" : "off"); in ovl_show_options()
1082 if (ofs->config.uuid != ovl_uuid_def()) in ovl_show_options()
1083 seq_printf(m, ",uuid=%s", ovl_uuid_mode(&ofs->config)); in ovl_show_options()
1084 if (ofs->config.nfs_export != ovl_nfs_export_def) in ovl_show_options()
1085 seq_printf(m, ",nfs_export=%s", ofs->config.nfs_export ? in ovl_show_options()
1087 if (ofs->config.xino != ovl_xino_def() && !ovl_same_fs(ofs)) in ovl_show_options()
1088 seq_printf(m, ",xino=%s", ovl_xino_mode(&ofs->config)); in ovl_show_options()
1089 if (ofs->config.metacopy != ovl_metacopy_def) in ovl_show_options()
1091 ofs->config.metacopy ? "on" : "off"); in ovl_show_options()
1092 if (ofs->config.ovl_volatile) in ovl_show_options()
1094 if (ofs->config.userxattr) in ovl_show_options()
1096 if (ofs->config.verity_mode != ovl_verity_mode_def()) in ovl_show_options()
1098 ovl_verity_mode(&ofs->config)); in ovl_show_options()