summaryrefslogtreecommitdiffstats
path: root/mdadm.h
diff options
context:
space:
mode:
authorMariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>2024-02-05 15:50:29 +0100
committerMariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>2024-02-09 09:08:38 +0100
commit476b00bdeeb6c004b3a758bd842b0fa9e4164508 (patch)
tree68fce19160d5aa509b904da9bd29b829ac5ad4f3 /mdadm.h
parentsuper1: remove support for name= in config (diff)
downloadmdadm-476b00bdeeb6c004b3a758bd842b0fa9e4164508.tar.xz
mdadm-476b00bdeeb6c004b3a758bd842b0fa9e4164508.zip
Revert "mdadm: remove container_enough logic"
Mentioned patch changes way of IMSM member arrays assembling, they are updated by every new drive incremental processes. Previously, member arrays were created and filled once, by last drive incremental process. We determined regressions with various impact. Unfortunately, initial testing didn't show them. Regressions are connected to drive appearance order and may not be reproducible on every configuration, there are at least two know issues for now: - sysfs attributes are filled using old metadata if there is outdated drive and it is enumerated first. - rebuild may be aborted and started from beginning after reboot, if drive under rebuild is enumerated as the last one. This reverts commit 4dde420fc3e24077ab926f79674eaae1b71de10b. It fixes checkpatch issues and reworks logic to remove empty "if" branch in Incremental. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Diffstat (limited to 'mdadm.h')
-rw-r--r--mdadm.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/mdadm.h b/mdadm.h
index 709b6104..1f28b3e7 100644
--- a/mdadm.h
+++ b/mdadm.h
@@ -377,6 +377,13 @@ struct mdinfo {
int container_member; /* for assembling external-metatdata arrays
* This is to be used internally by metadata
* handler only */
+ /**
+ * flag external handlers can set to indicate that subarrays have:
+ * - not enough disks to start (-1),
+ * - enough disks to start (0),
+ * - all expected disks (1).
+ */
+ int container_enough;
char sys_name[32];
struct mdinfo *devs;
struct mdinfo *next;