Re: [PATCH 03/10] Add code specific update options to enum.
From: Coly Li <hidden>
Date: 2022-09-14 15:03:05
2022年8月18日 22:56,Mateusz Kusiak [off-list ref] 写道: Some of update options aren't taken from user input, but are hard-coded as strings. Include those options in enum. Signed-off-by: Mateusz Kusiak <redacted>
Acked-by: Coly Li <redacted> Thanks. Coly Li
quoted hunk ↗ jump to hunk
--- maps.c | 21 +++++++++++++++++++++ mdadm.h | 15 +++++++++++++++ 2 files changed, 36 insertions(+)diff --git a/maps.c b/maps.c index b586679a..c59036f1 100644 --- a/maps.c +++ b/maps.c@@ -194,6 +194,27 @@ mapping_t update_options[] = {{ "byteorder", UOPT_BYTEORDER }, { "help", UOPT_HELP }, { "?", UOPT_HELP }, + /* + * Those enries are temporary and will be removed in this patchset. + * + * Before update_super:update can be changed to enum, + * all update_super sub-functions must be adapted first. + * Update options will be passed as string (as it is for now), + * and then mapped, so all options must be handled temporarily. + * + * Those options code specific and should not be accessible for user. + */ + { "force-one", UOPT_SPEC_FORCE_ONE }, + { "force-array", UOPT_SPEC_FORCE_ARRAY }, + { "assemble", UOPT_SPEC_ASSEMBLE }, + { "linear-grow-new", UOPT_SPEC_LINEAR_GROW_NEW }, + { "linear-grow-update", UOPT_SPEC_LINEAR_GROW_UPDATE }, + { "_reshape_progress", UOPT_SPEC__RESHAPE_PROGRESS }, + { "writemostly", UOPT_SPEC_WRITEMOSTLY }, + { "readwrite", UOPT_SPEC_READWRITE }, + { "failfast", UOPT_SPEC_FAILFAST }, + { "nofailfast", UOPT_SPEC_NOFAILFAST }, + { "revert-reshape-nobackup", UOPT_SPEC_REVERT_RESHAPE_NOBACKUP }, { NULL, UOPT_UNDEFINED} };diff --git a/mdadm.h b/mdadm.h index 43e6b544..7bc31b16 100644 --- a/mdadm.h +++ b/mdadm.h@@ -523,6 +523,21 @@ enum update_opt {UOPT_LAYOUT_UNSPECIFIED, UOPT_BYTEORDER, UOPT_HELP, + UOPT_USER_ONLY, + /* + * Code specific options, cannot be set by the user + */ + UOPT_SPEC_FORCE_ONE, + UOPT_SPEC_FORCE_ARRAY, + UOPT_SPEC_ASSEMBLE, + UOPT_SPEC_LINEAR_GROW_NEW, + UOPT_SPEC_LINEAR_GROW_UPDATE, + UOPT_SPEC__RESHAPE_PROGRESS, + UOPT_SPEC_WRITEMOSTLY, + UOPT_SPEC_READWRITE, + UOPT_SPEC_FAILFAST, + UOPT_SPEC_NOFAILFAST, + UOPT_SPEC_REVERT_RESHAPE_NOBACKUP, UOPT_UNDEFINED }; extern void fprint_update_options(FILE *outf, enum update_opt update_mode); -- 2.26.2