55 lines
1.6 KiB
Diff
55 lines
1.6 KiB
Diff
|
From db10eab68e652f141169b7240e057d110d626c3d Mon Sep 17 00:00:00 2001
|
||
|
From: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
||
|
Date: Mon, 2 Jan 2023 09:35:16 +0100
|
||
|
Subject: [PATCH 68/83] Fix --update-subarray on active volume
|
||
|
|
||
|
Options: bitmap, ppl and name should not be updated when array is active.
|
||
|
Those features are mutually exclusive and share the same data area in IMSM (danger of overwriting by kernel).
|
||
|
Remove check for active subarrays from super-intel.
|
||
|
Since ddf is not supported, apply it globally for all options.
|
||
|
|
||
|
Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com>
|
||
|
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
|
||
|
---
|
||
|
Manage.c | 7 +++++++
|
||
|
super-intel.c | 5 -----
|
||
|
2 files changed, 7 insertions(+), 5 deletions(-)
|
||
|
|
||
|
diff --git a/Manage.c b/Manage.c
|
||
|
index b1d0e630..5a9ea316 100644
|
||
|
--- a/Manage.c
|
||
|
+++ b/Manage.c
|
||
|
@@ -1745,6 +1745,13 @@ int Update_subarray(char *dev, char *subarray, char *update, struct mddev_ident
|
||
|
goto free_super;
|
||
|
}
|
||
|
|
||
|
+ if (is_subarray_active(subarray, st->devnm)) {
|
||
|
+ if (verbose >= 0)
|
||
|
+ pr_err("Subarray %s in %s is active, cannot update %s\n",
|
||
|
+ subarray, dev, update);
|
||
|
+ goto free_super;
|
||
|
+ }
|
||
|
+
|
||
|
if (mdmon_running(st->devnm))
|
||
|
st->update_tail = &st->updates;
|
||
|
|
||
|
diff --git a/super-intel.c b/super-intel.c
|
||
|
index b0565610..5f93f3d3 100644
|
||
|
--- a/super-intel.c
|
||
|
+++ b/super-intel.c
|
||
|
@@ -7914,11 +7914,6 @@ static int update_subarray_imsm(struct supertype *st, char *subarray,
|
||
|
char *ep;
|
||
|
int vol;
|
||
|
|
||
|
- if (is_subarray_active(subarray, st->devnm)) {
|
||
|
- pr_err("Unable to update name of active subarray\n");
|
||
|
- return 2;
|
||
|
- }
|
||
|
-
|
||
|
if (!check_name(super, name, 0))
|
||
|
return 2;
|
||
|
|
||
|
--
|
||
|
2.38.1
|
||
|
|