fix an issue for the symlink of the by-uuid file lost
Signed-off-by: wangzhiqiang <wangzhiqiang95@huawei.com> (cherry picked from commit 9a108ba8d3d3c02b92c57029376963419a4d5c65)
This commit is contained in:
parent
edf4b25045
commit
4e432a8739
@ -0,0 +1,43 @@
|
|||||||
|
From 0ffad44e2b768a09be410b7d0decceb6404c46d1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Wilck <mwilck@suse.com>
|
||||||
|
Date: Fri, 28 Jan 2022 14:42:29 +0100
|
||||||
|
Subject: [PATCH 1/2] udev: create symlinks and watch even in suspended state
|
||||||
|
|
||||||
|
If a dm device is suspended, we can't run blkid on it. But earlier
|
||||||
|
rules (e.g. 11-dm-parts.rules) might have imported previously scanned
|
||||||
|
properties from the udev db, in particular if the device had been correctly
|
||||||
|
set up beforehand (DM_UDEV_PRIMARY_SOURCE_FLAG==1). Symlinks for existing
|
||||||
|
ID_FS_xyz properties must be preserved in this case. Otherwise lower-priority
|
||||||
|
devices (such as multipath components) might take over the symlink
|
||||||
|
temporarily.
|
||||||
|
|
||||||
|
Likewise, we should't stop watching a temporarily suspended, but previously
|
||||||
|
correctly configured dm device.
|
||||||
|
|
||||||
|
Signed-off-by: Martin Wilck <mwilck@suse.com>
|
||||||
|
---
|
||||||
|
udev/13-dm-disk.rules.in | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/udev/13-dm-disk.rules.in b/udev/13-dm-disk.rules.in
|
||||||
|
index fcb2f37..18254b4 100644
|
||||||
|
--- a/udev/13-dm-disk.rules.in
|
||||||
|
+++ b/udev/13-dm-disk.rules.in
|
||||||
|
@@ -17,10 +17,14 @@ ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}=="1", GOTO="dm_end"
|
||||||
|
ENV{DM_NAME}=="?*", SYMLINK+="disk/by-id/dm-name-$env{DM_NAME}"
|
||||||
|
ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id/dm-uuid-$env{DM_UUID}"
|
||||||
|
|
||||||
|
+ENV{DM_SUSPENDED}=="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", GOTO="dm_link"
|
||||||
|
+ENV{DM_NOSCAN}=="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", GOTO="dm_link"
|
||||||
|
ENV{DM_SUSPENDED}=="1", GOTO="dm_end"
|
||||||
|
ENV{DM_NOSCAN}=="1", GOTO="dm_watch"
|
||||||
|
|
||||||
|
(BLKID_RULE)
|
||||||
|
+
|
||||||
|
+LABEL="dm_link"
|
||||||
|
ENV{DM_UDEV_LOW_PRIORITY_FLAG}=="1", OPTIONS="link_priority=-100"
|
||||||
|
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
|
||||||
|
ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
@ -0,0 +1,55 @@
|
|||||||
|
From 05176a06cf24cd9be00bd98c76466398841008b9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Yu Watanabe <watanabe.yu+github@gmail.com>
|
||||||
|
Date: Thu, 2 Feb 2023 00:28:12 +0900
|
||||||
|
Subject: [PATCH 2/2] udev: import previous results of blkid when in suspended
|
||||||
|
state
|
||||||
|
|
||||||
|
Follow-up for e10f67e91728f1e576803df884049ecbd92874d0.
|
||||||
|
|
||||||
|
The commit e10f67e91728f1e576803df884049ecbd92874d0 tries to keep device
|
||||||
|
node symlinks even if the device is in the suspended state. However,
|
||||||
|
necessary properties that may previously obtained by the blkid command
|
||||||
|
were not imported at least in the .rules file. So, unless ID_FS_xyz
|
||||||
|
properties are imported by another earlier .rules file, the device node
|
||||||
|
symlinks are still lost when event is processed in the suspended state.
|
||||||
|
|
||||||
|
Let's explicitly import the necessary properties.
|
||||||
|
|
||||||
|
RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=2158628
|
||||||
|
GHPR: https://github.com/lvmteam/lvm2/pull/105
|
||||||
|
---
|
||||||
|
udev/13-dm-disk.rules.in | 14 ++++++++++++--
|
||||||
|
1 file changed, 12 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/udev/13-dm-disk.rules.in b/udev/13-dm-disk.rules.in
|
||||||
|
index 18254b4..0ca0d57 100644
|
||||||
|
--- a/udev/13-dm-disk.rules.in
|
||||||
|
+++ b/udev/13-dm-disk.rules.in
|
||||||
|
@@ -17,12 +17,22 @@ ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}=="1", GOTO="dm_end"
|
||||||
|
ENV{DM_NAME}=="?*", SYMLINK+="disk/by-id/dm-name-$env{DM_NAME}"
|
||||||
|
ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id/dm-uuid-$env{DM_UUID}"
|
||||||
|
|
||||||
|
-ENV{DM_SUSPENDED}=="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", GOTO="dm_link"
|
||||||
|
-ENV{DM_NOSCAN}=="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", GOTO="dm_link"
|
||||||
|
+ENV{DM_SUSPENDED}=="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", GOTO="dm_import"
|
||||||
|
+ENV{DM_NOSCAN}=="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", GOTO="dm_import"
|
||||||
|
ENV{DM_SUSPENDED}=="1", GOTO="dm_end"
|
||||||
|
ENV{DM_NOSCAN}=="1", GOTO="dm_watch"
|
||||||
|
|
||||||
|
(BLKID_RULE)
|
||||||
|
+GOTO="dm_link"
|
||||||
|
+
|
||||||
|
+LABEL="dm_import"
|
||||||
|
+IMPORT{db}="ID_FS_USAGE"
|
||||||
|
+IMPORT{db}="ID_FS_UUID_ENC"
|
||||||
|
+IMPORT{db}="ID_FS_LABEL_ENC"
|
||||||
|
+IMPORT{db}="ID_PART_ENTRY_NAME"
|
||||||
|
+IMPORT{db}="ID_PART_ENTRY_UUID"
|
||||||
|
+IMPORT{db}="ID_PART_ENTRY_SCHEME"
|
||||||
|
+IMPORT{db}="ID_PART_GPT_AUTO_ROOT"
|
||||||
|
|
||||||
|
LABEL="dm_link"
|
||||||
|
ENV{DM_UDEV_LOW_PRIORITY_FLAG}=="1", OPTIONS="link_priority=-100"
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
Name: lvm2
|
Name: lvm2
|
||||||
Version: 2.03.14
|
Version: 2.03.14
|
||||||
Release: 10
|
Release: 11
|
||||||
Epoch: 8
|
Epoch: 8
|
||||||
Summary: Tools for logical volume management
|
Summary: Tools for logical volume management
|
||||||
License: GPLv2+ and LGPLv2.1 and BSD
|
License: GPLv2+ and LGPLv2.1 and BSD
|
||||||
@ -78,6 +78,8 @@ Patch26: 0026-lvmcache-fix-valgrind-error-when-dropping-md-duplica.patch
|
|||||||
Patch27: 0027-toollib-fix-segfault-if-using-S-select-with-log-repo.patch
|
Patch27: 0027-toollib-fix-segfault-if-using-S-select-with-log-repo.patch
|
||||||
Patch28: 0028-pvscan-use-alternate-device-names-from-DEVLINKS-to-c.patch
|
Patch28: 0028-pvscan-use-alternate-device-names-from-DEVLINKS-to-c.patch
|
||||||
Patch29: 0029-vgchange-acquire-an-exclusive-VG-lock-for-refresh.patch
|
Patch29: 0029-vgchange-acquire-an-exclusive-VG-lock-for-refresh.patch
|
||||||
|
Patch30: 0030-udev-create-symlinks-and-watch-even-in-suspended-sta.patch
|
||||||
|
Patch31: 0031-udev-import-previous-results-of-blkid-when-in-suspen.patch
|
||||||
|
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -504,6 +506,9 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Nov 14 2023 wangzhiqiang <wangzhiqiang95@huawei.com> - 8:2.03.14-11
|
||||||
|
- fix an issue for the symlink of the by-uuid file lost
|
||||||
|
|
||||||
* Tue Sep 5 2023 wangzhiqiang <wangzhiqiang95@huawei.com> - 8:2.03.14-10
|
* Tue Sep 5 2023 wangzhiqiang <wangzhiqiang95@huawei.com> - 8:2.03.14-10
|
||||||
- fix some bugs
|
- fix some bugs
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user