SHA256
1
0
forked from pool/systemd

Accepting request 405018 from Base:System

1

OBS-URL: https://build.opensuse.org/request/show/405018
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=235
This commit is contained in:
Dominique Leuenberger 2016-07-10 16:46:36 +00:00 committed by Git OBS Bridge
parent bed4a33d65
commit 3bb40fe915
5 changed files with 16 additions and 51 deletions

View File

@ -1,45 +0,0 @@
From: Jeff Mahoney <jeffm@suse.com>
Subject: udev: use device mapper target name for btrfs device ready
References: bnc#888215
When udev gets a change event for a block device, it calls the builtin
btrfs helper to scan it for a btrfs file system. If the file system was
mounted using a device mapper node, mount(8) will have looked up the
device mapper table and used the /dev/mapper/<name> node for mount.
If something like partprobe runs, and then causes change events to be
handled, the btrfs ready event is handled using /dev/dm-N instead of
the device mapper named node. Btrfs caches the last name passed to
the scanning ioctl and uses that to report the device name for
things like /proc/mounts.
So, after running partprobe we go from:
/dev/mapper/test-test on /mnt type btrfs (rw,relatime,space_cache)
... to ...
/dev/dm-0 on /mnt type btrfs (rw,relatime,space_cache)
This doesn't apply only to LVM device, but multipath as well.
If the device is a DM device, udev will have already cached the table name
from sysfs and we can use that to pass /dev/mapper/<name> to the builtin
so that the correct name is used.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
---
rules/64-btrfs.rules | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: systemd-221/rules/64-btrfs.rules
===================================================================
--- systemd-221.orig/rules/64-btrfs.rules
+++ systemd-221/rules/64-btrfs.rules
@@ -6,7 +6,8 @@ ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_en
ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end"
# let the kernel know about this btrfs filesystem, and check if it is complete
-IMPORT{builtin}="btrfs ready $devnode"
+ENV{DM_NAME}=="", IMPORT{builtin}="btrfs ready $devnode"
+ENV{DM_NAME}=="?*", IMPORT{builtin}="btrfs ready /dev/mapper/$env{DM_NAME}"
# mark the device as not ready to be used by the system
ENV{ID_BTRFS_READY}=="0", ENV{SYSTEMD_READY}="0"

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com
- drop 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
it breaks btrfs on multiple device-mapper devices (boo#984516). The problem
it tried to fix is already fixed in rule shipped with btrfsprogs (see
boo#912170).
------------------------------------------------------------------- -------------------------------------------------------------------
Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com

View File

@ -288,8 +288,6 @@ Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch
Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
# PATCH-FIX-SUSE See bnc#882714 comment #51 # PATCH-FIX-SUSE See bnc#882714 comment #51
Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch
# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977)
Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch
# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852)
@ -622,7 +620,6 @@ cp %{SOURCE7} m4/
%if %{with blkrrpart} %if %{with blkrrpart}
%patch1037 -p1 %patch1037 -p1
%endif %endif
%patch1060 -p1
%patch1062 -p1 %patch1062 -p1
%patch1066 -p1 %patch1066 -p1
%patch1095 -p1 %patch1095 -p1

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Sat Jun 18 16:17:36 UTC 2016 - arvidjaar@gmail.com
- drop 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
it breaks btrfs on multiple device-mapper devices (boo#984516). The problem
it tried to fix is already fixed in rule shipped with btrfsprogs (see
boo#912170).
------------------------------------------------------------------- -------------------------------------------------------------------
Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com Wed May 4 06:37:51 UTC 2016 - Thomas.Blume@suse.com

View File

@ -283,8 +283,6 @@ Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch
Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
# PATCH-FIX-SUSE See bnc#882714 comment #51 # PATCH-FIX-SUSE See bnc#882714 comment #51
Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch
# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977) # PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977)
Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch
# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852) # PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852)
@ -617,7 +615,6 @@ cp %{SOURCE7} m4/
%if %{with blkrrpart} %if %{with blkrrpart}
%patch1037 -p1 %patch1037 -p1
%endif %endif
%patch1060 -p1
%patch1062 -p1 %patch1062 -p1
%patch1066 -p1 %patch1066 -p1
%patch1095 -p1 %patch1095 -p1