diff options
author | Mateusz Kusiak <mateusz.kusiak@intel.com> | 2023-01-02 09:35:15 +0100 |
---|---|---|
committer | Jes Sorensen <jes@trained-monkey.org> | 2023-01-04 10:20:58 -0500 |
commit | 2568ce89ea5c26225e8984733adc2ea7559d853a (patch) | |
tree | ff1429fa3379e0a974d34d68aaa1721814bf8c2d /mdadm.h | |
parent | 7fcbfd7c620e2dcd3b539d18e93cb503ee3a8a62 (diff) | |
download | mdadm-2568ce89ea5c26225e8984733adc2ea7559d853a.tar.gz |
mdadm: Add option validation for --update-subarray
Subset of options available for "--update" is not same as for "--update-subarray".
Define maps and enum for update options and use them instead of direct comparisons.
Add proper error message.
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
Diffstat (limited to 'mdadm.h')
-rw-r--r-- | mdadm.h | 32 |
1 files changed, 31 insertions, 1 deletions
@@ -497,6 +497,36 @@ enum special_options { ConsistencyPolicy, }; +enum update_opt { + UOPT_NAME = 1, + UOPT_PPL, + UOPT_NO_PPL, + UOPT_BITMAP, + UOPT_NO_BITMAP, + UOPT_SUBARRAY_ONLY, + UOPT_SPARC22, + UOPT_SUPER_MINOR, + UOPT_SUMMARIES, + UOPT_RESYNC, + UOPT_UUID, + UOPT_HOMEHOST, + UOPT_HOME_CLUSTER, + UOPT_NODES, + UOPT_DEVICESIZE, + UOPT_BBL, + UOPT_NO_BBL, + UOPT_FORCE_NO_BBL, + UOPT_METADATA, + UOPT_REVERT_RESHAPE, + UOPT_LAYOUT_ORIGINAL, + UOPT_LAYOUT_ALTERNATE, + UOPT_LAYOUT_UNSPECIFIED, + UOPT_BYTEORDER, + UOPT_HELP, + UOPT_UNDEFINED +}; +extern void fprint_update_options(FILE *outf, enum update_opt update_mode); + enum prefix_standard { JEDEC, IEC @@ -777,7 +807,7 @@ extern char *map_num(mapping_t *map, int num); extern int map_name(mapping_t *map, char *name); extern mapping_t r0layout[], r5layout[], r6layout[], pers[], modes[], faultylayout[]; -extern mapping_t consistency_policies[], sysfs_array_states[]; +extern mapping_t consistency_policies[], sysfs_array_states[], update_options[]; extern char *map_dev_preferred(int major, int minor, int create, char *prefer); |