2023-09-19 02:36:45 +02:00
|
|
|
From 5633a8ad6522f0f1340ef35c2f3943a3b20cc200 Mon Sep 17 00:00:00 2001
|
2017-01-20 10:47:48 +01:00
|
|
|
From: NeilBrown <neilb@suse.com>
|
2017-02-22 11:59:19 +01:00
|
|
|
Date: Wed, 4 Jan 2017 14:20:53 +1100
|
2023-09-19 02:36:45 +02:00
|
|
|
Subject: [PATCH] Simplify special-case for md in 69-dm-lvm.rules.in
|
2017-01-20 10:47:48 +01:00
|
|
|
|
2017-02-22 11:59:19 +01:00
|
|
|
This special casing brings little value. It appears to attempt to
|
2017-01-20 10:47:48 +01:00
|
|
|
determine if the array is active yet or not, and to skip
|
|
|
|
processing if the array has not yet been started.
|
|
|
|
However, if the array hasn't been started, then "blkid" will
|
|
|
|
not have been able to read a signature, so:
|
|
|
|
ENV{ID_FS_TYPE}!="LVM2_member|LVM1_member", GOTO="lvm_end"
|
|
|
|
will have caused all this code to be skipped.
|
|
|
|
|
|
|
|
Further, this code causes incorrect behaviour in at least one case.
|
|
|
|
It assumes that the first "add" event should be ignored, as it will be
|
|
|
|
followed by a "change" event which indicates the array coming on line.
|
|
|
|
This is consistent with how the kernel sends events, but not always
|
|
|
|
consistent with how this script sees event.
|
|
|
|
Specifically: if the initrd has "mdadm" support installed, but not
|
|
|
|
"lvm2" support, then the initial "add" and "change" events will
|
|
|
|
happen while the initrd is in charge and this file is not available.
|
|
|
|
Once the root filesystem is mountd, this file will be available
|
|
|
|
and "udevadm trigger --action=add" will be run.
|
|
|
|
So the first and only event seen by this script for an md device will be
|
|
|
|
"add", and it will incorrectly ignore it.
|
|
|
|
|
2017-02-22 11:59:19 +01:00
|
|
|
So replace the special handling with code that simply jumps to lvm_scan
|
|
|
|
on any 'add' or 'change' event.
|
2017-01-20 10:47:48 +01:00
|
|
|
|
|
|
|
Signed-off-by: NeilBrown <neilb@suse.com>
|
2023-09-19 02:36:45 +02:00
|
|
|
|
|
|
|
2023-09-18:
|
|
|
|
udev/69-dm-lvm-metadata.rules was removed in v2_03_09 and 69-dm-lvm.rules.in
|
|
|
|
should be modified instead. The subject of this patch should be modified too.
|
|
|
|
NOTE: the updated patch may let shell/duplicate-pvs-md0.sh fail because
|
|
|
|
we change timing of lvm_scan in the rule file.
|
|
|
|
|
|
|
|
Signed-off-by: Glass Su <glass.su@suse.com>
|
|
|
|
|
2017-01-20 10:47:48 +01:00
|
|
|
---
|
2023-09-19 02:36:45 +02:00
|
|
|
udev/69-dm-lvm.rules.in | 7 +++----
|
|
|
|
1 file changed, 3 insertions(+), 4 deletions(-)
|
|
|
|
|
|
|
|
diff --git a/udev/69-dm-lvm.rules.in b/udev/69-dm-lvm.rules.in
|
|
|
|
index 3ec50a5cb878..45fdad444562 100644
|
|
|
|
--- a/udev/69-dm-lvm.rules.in
|
|
|
|
+++ b/udev/69-dm-lvm.rules.in
|
|
|
|
@@ -35,12 +35,11 @@ ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", ENV{DM_ACTIVATION}=="1", GOTO="lvm_scan"
|
2017-01-20 10:47:48 +01:00
|
|
|
GOTO="lvm_end"
|
|
|
|
|
2017-02-22 11:59:19 +01:00
|
|
|
# MD device:
|
|
|
|
+# Need to scan on both 'add' and 'change'
|
|
|
|
LABEL="next"
|
|
|
|
KERNEL!="md[0-9]*", GOTO="next"
|
2017-01-20 10:47:48 +01:00
|
|
|
-IMPORT{db}="LVM_MD_PV_ACTIVATED"
|
|
|
|
-ACTION=="add", ENV{LVM_MD_PV_ACTIVATED}=="1", GOTO="lvm_scan"
|
|
|
|
-ACTION=="change", ENV{LVM_MD_PV_ACTIVATED}!="1", TEST=="md/array_state", ENV{LVM_MD_PV_ACTIVATED}="1", GOTO="lvm_scan"
|
|
|
|
-ACTION=="add", KERNEL=="md[0-9]*p[0-9]*", GOTO="lvm_scan"
|
2017-02-22 11:59:19 +01:00
|
|
|
+ACTION=="add", GOTO="lvm_scan"
|
|
|
|
+ACTION=="change", GOTO="lvm_scan"
|
|
|
|
GOTO="lvm_end"
|
|
|
|
|
2017-01-20 10:47:48 +01:00
|
|
|
# Loop device:
|
|
|
|
--
|
2023-09-19 02:36:45 +02:00
|
|
|
2.42.0
|
2017-01-20 10:47:48 +01:00
|
|
|
|