cdf21d08ef
After updating to latest upstream, bug2163711 can be fixed. We don't use rhel only udev rule anymore and we use the udev rules from upstream. So we don't need to modify our rhel only udev rule again. Resolves: bz#2163711 Signed-off-by: Xiao Ni <xni@redhat.com>
107 lines
3.3 KiB
Diff
107 lines
3.3 KiB
Diff
From 4345e135c4c7dd04bb15bad140dfc4747f677738 Mon Sep 17 00:00:00 2001
|
|
From: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
Date: Mon, 2 Jan 2023 09:35:21 +0100
|
|
Subject: [PATCH 73/83] super-intel: refactor the code for enum
|
|
|
|
It prepares super-intel for change context->update to enum.
|
|
|
|
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
|
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
|
|
---
|
|
super-intel.c | 37 +++++++++++++++++++++++++------------
|
|
1 file changed, 25 insertions(+), 12 deletions(-)
|
|
|
|
diff --git a/super-intel.c b/super-intel.c
|
|
index 5f93f3d3..85fb7f17 100644
|
|
--- a/super-intel.c
|
|
+++ b/super-intel.c
|
|
@@ -3930,7 +3930,8 @@ static int update_super_imsm(struct supertype *st, struct mdinfo *info,
|
|
|
|
mpb = super->anchor;
|
|
|
|
- if (strcmp(update, "uuid") == 0) {
|
|
+ switch (map_name(update_options, update)) {
|
|
+ case UOPT_UUID:
|
|
/* We take this to mean that the family_num should be updated.
|
|
* However that is much smaller than the uuid so we cannot really
|
|
* allow an explicit uuid to be given. And it is hard to reliably
|
|
@@ -3954,10 +3955,14 @@ static int update_super_imsm(struct supertype *st, struct mdinfo *info,
|
|
}
|
|
if (rv == 0)
|
|
mpb->orig_family_num = info->uuid[0];
|
|
- } else if (strcmp(update, "assemble") == 0)
|
|
+ break;
|
|
+ case UOPT_SPEC_ASSEMBLE:
|
|
rv = 0;
|
|
- else
|
|
+ break;
|
|
+ default:
|
|
rv = -1;
|
|
+ break;
|
|
+ }
|
|
|
|
/* successful update? recompute checksum */
|
|
if (rv == 0)
|
|
@@ -7889,17 +7894,25 @@ static int kill_subarray_imsm(struct supertype *st, char *subarray_id)
|
|
return 0;
|
|
}
|
|
|
|
-static int get_rwh_policy_from_update(char *update)
|
|
+/**
|
|
+ * get_rwh_policy_from_update() - Get the rwh policy for update option.
|
|
+ * @update: Update option.
|
|
+ */
|
|
+static int get_rwh_policy_from_update(enum update_opt update)
|
|
{
|
|
- if (strcmp(update, "ppl") == 0)
|
|
+ switch (update) {
|
|
+ case UOPT_PPL:
|
|
return RWH_MULTIPLE_DISTRIBUTED;
|
|
- else if (strcmp(update, "no-ppl") == 0)
|
|
+ case UOPT_NO_PPL:
|
|
return RWH_MULTIPLE_OFF;
|
|
- else if (strcmp(update, "bitmap") == 0)
|
|
+ case UOPT_BITMAP:
|
|
return RWH_BITMAP;
|
|
- else if (strcmp(update, "no-bitmap") == 0)
|
|
+ case UOPT_NO_BITMAP:
|
|
return RWH_OFF;
|
|
- return -1;
|
|
+ default:
|
|
+ break;
|
|
+ }
|
|
+ return UOPT_UNDEFINED;
|
|
}
|
|
|
|
static int update_subarray_imsm(struct supertype *st, char *subarray,
|
|
@@ -7909,7 +7922,7 @@ static int update_subarray_imsm(struct supertype *st, char *subarray,
|
|
struct intel_super *super = st->sb;
|
|
struct imsm_super *mpb = super->anchor;
|
|
|
|
- if (strcmp(update, "name") == 0) {
|
|
+ if (map_name(update_options, update) == UOPT_NAME) {
|
|
char *name = ident->name;
|
|
char *ep;
|
|
int vol;
|
|
@@ -7943,7 +7956,7 @@ static int update_subarray_imsm(struct supertype *st, char *subarray,
|
|
}
|
|
super->updates_pending++;
|
|
}
|
|
- } else if (get_rwh_policy_from_update(update) != -1) {
|
|
+ } else if (get_rwh_policy_from_update(map_name(update_options, update)) != UOPT_UNDEFINED) {
|
|
int new_policy;
|
|
char *ep;
|
|
int vol = strtoul(subarray, &ep, 10);
|
|
@@ -7951,7 +7964,7 @@ static int update_subarray_imsm(struct supertype *st, char *subarray,
|
|
if (*ep != '\0' || vol >= super->anchor->num_raid_devs)
|
|
return 2;
|
|
|
|
- new_policy = get_rwh_policy_from_update(update);
|
|
+ new_policy = get_rwh_policy_from_update(map_name(update_options, update));
|
|
|
|
if (st->update_tail) {
|
|
struct imsm_update_rwh_policy *u = xmalloc(sizeof(*u));
|
|
--
|
|
2.38.1
|
|
|