diff --git a/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch b/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch new file mode 100644 index 0000000..391592e --- /dev/null +++ b/1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch @@ -0,0 +1,27 @@ +From e26a5bb50b8aa741c5b2e57749d576c488e7ab32 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Thu, 10 Apr 2014 11:10:41 +0200 +Subject: [PATCH 1/2] 64-btrfs.rules: skip btrfs check if devices are not ready + +If any devices are marked with 'SYSTEMD_READY=0' then +we shouldn't run any btrfs check on them. + +--- + rules/64-btrfs.rules | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/rules/64-btrfs.rules b/rules/64-btrfs.rules +index fe01001..57631bc 100644 +--- a/rules/64-btrfs.rules ++++ b/rules/64-btrfs.rules +@@ -3,6 +3,7 @@ + SUBSYSTEM!="block", GOTO="btrfs_end" + ACTION=="remove", GOTO="btrfs_end" + ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_end" ++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" +-- +1.8.1.4 + diff --git a/1012-Skip-persistent-device-link-creation-on-multipath-de.patch b/1012-Skip-persistent-device-link-creation-on-multipath-de.patch new file mode 100644 index 0000000..087dc3a --- /dev/null +++ b/1012-Skip-persistent-device-link-creation-on-multipath-de.patch @@ -0,0 +1,43 @@ +From f9e1ee09fadbd4fb146d4f7bb45a6212773dff63 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Thu, 10 Apr 2014 11:14:20 +0200 +Subject: [PATCH 2/2] Skip persistent device link creation on multipath device + paths + +When a device is marked as a multipath device path by setting +DM_MULTIPATH_DEVICE_PATH="1" udev should not create any +persistent symlinks to that device. +Otherwise systemd will get confused about which device to use. + +--- + rules/60-persistent-storage.rules | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules +index 1208bd3..fd5bedd 100644 +--- a/rules/60-persistent-storage.rules ++++ b/rules/60-persistent-storage.rules +@@ -39,8 +39,8 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{builtin + # scsi devices + KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi" + KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="cciss" +-KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" +-KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" ++KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" ++KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" + + # scsi compat links for ATA devices + KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" +@@ -70,6 +70,9 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DAT + KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \ + IMPORT{builtin}="blkid --noraid" + ++# Skip blkid on multipath device paths ++ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="persistent_storage_end" ++ + # probe filesystem metadata of disks + KERNEL!="sr*", IMPORT{builtin}="blkid" + +-- +1.8.1.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 46afc93..8459a4a 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Apr 10 10:17:47 UTC 2014 - werner@suse.de + +- Add two patches from hare@suse.com + 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch + 1012-Skip-persistent-device-link-creation-on-multipath-de.patch + to solve bnc#872929 + ------------------------------------------------------------------- Wed Apr 9 08:53:21 UTC 2014 - rmilasan@suse.com diff --git a/systemd-mini.spec b/systemd-mini.spec index db6133b..25a939e 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -376,7 +376,14 @@ Patch193: portmap-wants-rpcbind-socket.patch # PATCH-FIX-USTREAM added at 2014/03/11 Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch -# udev patches (NOTE: all udev patches start with 1XXX-*.patch, do not use anything else) +# UDEV PATCHES +# ============ +# NOTE: all udev patches start with 1XXX-*.patch, do not use anything else. +# Udev patches mean: patches that affect udev code, src/{udev,libudev} +# nothing else, even if the patch might affect indirectly udev, as long +# as it's not changing the code of udev and libudev, then is not a udev +# patch. Further patches which add and/or changes udev rules. + # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -395,6 +402,10 @@ Patch1008: 1008-add-msft-compability-rules.patch Patch1009: 1009-cdrom_id-use-the-old-MMC-fallback.patch # PATCH-FIX-SUSE increase result size for programs (bnc#867840) Patch1010: 1010-udev-increase-result-size-for-programs.patch +# PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) +Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch +# PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) +Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -739,6 +750,8 @@ cp %{SOURCE7} m4/ %endif %patch1009 -p1 %patch1010 -p1 +%patch1011 -p1 +%patch1012 -p1 # ensure generate files are removed rm -f units/emergency.service diff --git a/systemd.changes b/systemd.changes index 46afc93..8459a4a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Apr 10 10:17:47 UTC 2014 - werner@suse.de + +- Add two patches from hare@suse.com + 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch + 1012-Skip-persistent-device-link-creation-on-multipath-de.patch + to solve bnc#872929 + ------------------------------------------------------------------- Wed Apr 9 08:53:21 UTC 2014 - rmilasan@suse.com diff --git a/systemd.spec b/systemd.spec index 8a5aa62..2a626ba 100644 --- a/systemd.spec +++ b/systemd.spec @@ -371,7 +371,14 @@ Patch193: portmap-wants-rpcbind-socket.patch # PATCH-FIX-USTREAM added at 2014/03/11 Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch -# udev patches (NOTE: all udev patches start with 1XXX-*.patch, do not use anything else) +# UDEV PATCHES +# ============ +# NOTE: all udev patches start with 1XXX-*.patch, do not use anything else. +# Udev patches mean: patches that affect udev code, src/{udev,libudev} +# nothing else, even if the patch might affect indirectly udev, as long +# as it's not changing the code of udev and libudev, then is not a udev +# patch. Further patches which add and/or changes udev rules. + # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch # PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -390,6 +397,10 @@ Patch1008: 1008-add-msft-compability-rules.patch Patch1009: 1009-cdrom_id-use-the-old-MMC-fallback.patch # PATCH-FIX-SUSE increase result size for programs (bnc#867840) Patch1010: 1010-udev-increase-result-size-for-programs.patch +# PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) +Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch +# PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) +Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -734,6 +745,8 @@ cp %{SOURCE7} m4/ %endif %patch1009 -p1 %patch1010 -p1 +%patch1011 -p1 +%patch1012 -p1 # ensure generate files are removed rm -f units/emergency.service