You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.4 KiB
43 lines
1.4 KiB
From 582945c2d3bbead4a71de521a392e292a4a84e24 Mon Sep 17 00:00:00 2001
|
|
From: Pawel Piatkowski <pawel.piatkowski@intel.com>
|
|
Date: Wed, 20 Dec 2023 10:32:49 +0100
|
|
Subject: [PATCH 1/1] manage: adjust checking subarray state in update_subarray
|
|
|
|
Only changing bitmap related consistency_policy requires
|
|
subarray to be inactive.
|
|
consistency_policy with PPL or NO_PPL value can be changed on
|
|
active subarray.
|
|
It fixes regression introduced in commit
|
|
db10eab68e652f141169 ("Fix --update-subarray on active volume")
|
|
|
|
Signed-off-by: Pawel Piatkowski <pawel.piatkowski@intel.com>
|
|
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
---
|
|
Manage.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/Manage.c b/Manage.c
|
|
index f0d4cb01..91532266 100644
|
|
--- a/Manage.c
|
|
+++ b/Manage.c
|
|
@@ -1749,6 +1749,7 @@ int Update_subarray(char *dev, char *subarray, enum update_opt update,
|
|
int fd, rv = 2;
|
|
struct mdinfo *info = NULL;
|
|
char *update_verb = map_num(update_options, update);
|
|
+ bool allow_active = update == UOPT_PPL || update == UOPT_NO_PPL;
|
|
|
|
memset(st, 0, sizeof(*st));
|
|
|
|
@@ -1763,7 +1764,7 @@ int Update_subarray(char *dev, char *subarray, enum update_opt update,
|
|
goto free_super;
|
|
}
|
|
|
|
- if (is_subarray_active(subarray, st->devnm)) {
|
|
+ if (!allow_active && is_subarray_active(subarray, st->devnm)) {
|
|
if (verbose >= 0)
|
|
pr_err("Subarray %s in %s is active, cannot update %s\n",
|
|
subarray, dev, update_verb);
|
|
--
|
|
2.40.1
|
|
|