lvm2/0013-udev-repeat.patch
wangzhiqiang 64475fbd9a fix fail to create lv
Signed-off-by: wangzhiqiang <wangzhiqiang95@huawei.com>
2023-06-08 20:34:43 +08:00

50 lines
2.2 KiB
Diff

From 69a3f4d986a4f5302a35771376a7785b9464889d Mon Sep 17 00:00:00 2001
From: wuguanghao <wuguanghao3@huawei.com>
Date: Sat, 9 Jun 2021 19:07:43 +0800
Subject: [PATCH] udev repeat
systemd-udev exec IMPORT{program} in rules to get stdout of
program for storing some ENV vars. However due to some reasons,
the stdout of program cannot be gotten by systemd-udevd, which
cause some errors due to missing of ENV vars.
lv maybe lost after reboot, now we repeat to exec programs to
avoid lv missing.
Signed-off-by: wuguanghao<wuguanghao3@huawei.com>
Signed-off-by: Zhiqiang Liu<liuzhiqiang26@huawei.com>
---
udev/10-dm.rules.in | 2 ++
udev/11-dm-lvm.rules.in | 2 ++
2 files changed, 4 insertions(+)
diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in
index b4fa52a..3ed1242 100644
--- a/udev/10-dm.rules.in
+++ b/udev/10-dm.rules.in
@@ -51,6 +51,8 @@ ACTION!="add|change", GOTO="dm_end"
# kernel version 2.6.31. Therefore, we can use this feature with
# kernels >= 2.6.31 only. Cookie is not decoded for remove event.
ENV{DM_COOKIE}=="?*", IMPORT{program}="(DM_EXEC)/dmsetup udevflags $env{DM_COOKIE}"
+ENV{DM_COOKIE}=="?*", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="?*", IMPORT{program}="(DM_EXEC)/dmsetup udevflags $env{DM_COOKIE}"
+ENV{DM_COOKIE}=="?*", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="?*", IMPORT{program}="(DM_EXEC)/dmsetup udevflags $env{DM_COOKIE}"
# Rule out easy-to-detect inappropriate events first.
ENV{DISK_RO}=="1", GOTO="dm_disable"
diff --git a/udev/11-dm-lvm.rules.in b/udev/11-dm-lvm.rules.in
index 7c58994..33f7d1d 100644
--- a/udev/11-dm-lvm.rules.in
+++ b/udev/11-dm-lvm.rules.in
@@ -19,6 +19,8 @@ ENV{DM_UUID}!="LVM-?*", GOTO="lvm_end"
# Use DM name and split it up into its VG/LV/layer constituents.
IMPORT{program}="(DM_EXEC)/dmsetup splitname --nameprefixes --noheadings --rows $env{DM_NAME}"
+ENV{DM_VG_NAME}!="?*", IMPORT{program}="(DM_EXEC)/dmsetup splitname --nameprefixes --noheadings --rows $env{DM_NAME}"
+ENV{DM_LV_NAME}!="?*", IMPORT{program}="(DM_EXEC)/dmsetup splitname --nameprefixes --noheadings --rows $env{DM_NAME}"
# DM_SUBSYSTEM_UDEV_FLAG0 is the 'NOSCAN' flag for LVM subsystem.
# This flag is used to temporarily disable selected rules to prevent any
--
2.33.0