From 7fdcc16833ecf77a2505bfdfe6955fb7a3ea014e80d2ec61a0aad5c834f747c6 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Sat, 28 Mar 2015 22:03:51 +0000 Subject: [PATCH] Add 0001-udev-do-not-rely-on-DRIVER-variable.patch OBS-URL: https://build.opensuse.org/package/show/filesystems/bcache-tools?expand=0&rev=14 --- ...-udev-do-not-rely-on-DRIVER-variable.patch | 39 +++++++++++++++++++ bcache-tools.changes | 3 ++ bcache-tools.spec | 3 +- 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 0001-udev-do-not-rely-on-DRIVER-variable.patch diff --git a/0001-udev-do-not-rely-on-DRIVER-variable.patch b/0001-udev-do-not-rely-on-DRIVER-variable.patch new file mode 100644 index 0000000..2b2f9af --- /dev/null +++ b/0001-udev-do-not-rely-on-DRIVER-variable.patch @@ -0,0 +1,39 @@ +From b48c30983b1510d94745bd07494fa81a68a5896e Mon Sep 17 00:00:00 2001 +From: Jan Engelhardt +Date: Sat, 28 Mar 2015 10:50:57 +0100 +Subject: [PATCH] udev: do not rely on DRIVER variable + +The DRIVER variable will only be set on a single event (when the +module creates the first instance?). Any subsequent udev event, e.g. a +change event for bcache0, does not have the DRIVER tag set. In fact, +most events don't. (This can be reproduced with `udevadm trigger`.) +This leads to a change in the contents of the SYMLINK variable which +leads to removal of /dev/bcache/, since DRIVER is not set. + +Don't even bother to create such a volatile /dev/bcache/ in the +first place so users don't go chasing after it. + +References: https://bugzilla.opensuse.org/880858 +--- + 69-bcache.rules | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/69-bcache.rules b/69-bcache.rules +index 9cc7f0d..096fde6 100644 +--- a/69-bcache.rules ++++ b/69-bcache.rules +@@ -22,11 +22,5 @@ RUN{builtin}+="kmod load bcache" + RUN+="bcache-register $tempnode" + LABEL="bcache_backing_end" + +-# Cached devices: symlink +-DRIVER=="bcache", ENV{CACHED_UUID}=="?*", \ +- SYMLINK+="bcache/by-uuid/$env{CACHED_UUID}" +-DRIVER=="bcache", ENV{CACHED_LABEL}=="?*", \ +- SYMLINK+="bcache/by-label/$env{CACHED_LABEL}" +- + LABEL="bcache_end" + +-- +2.1.4 + diff --git a/bcache-tools.changes b/bcache-tools.changes index 8b0339b..8a68da7 100644 --- a/bcache-tools.changes +++ b/bcache-tools.changes @@ -3,6 +3,9 @@ Fri Mar 27 18:02:05 UTC 2015 - jengelh@inai.de - Update to new upstream release 1.0.8 * bcache-register is now a C program +- Add 0001-udev-do-not-rely-on-DRIVER-variable.patch to entirely + disable /dev/bcache symlinks for now, rather than have it + half-working [bnc#880858] ------------------------------------------------------------------- Mon Aug 18 14:59:41 UTC 2014 - meissner@suse.com diff --git a/bcache-tools.spec b/bcache-tools.spec index b96b556..d61ae1f 100644 --- a/bcache-tools.spec +++ b/bcache-tools.spec @@ -27,6 +27,7 @@ Url: http://bcache.evilpiepirate.org/ #Git-Clone: http://evilpiepirate.org/git/bcache-tools.git Source: %name-%version.tar.xz Patch1: 0001-build-remove-inline-keyword-from-crc64.patch +Patch2: 0001-udev-do-not-rely-on-DRIVER-variable.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: libblkid-devel BuildRequires: libuuid-devel @@ -38,7 +39,7 @@ This package contains utilities for configuring the bcache Module. %prep %setup -qn %name -%patch -P 1 -p1 +%patch -P 1 -P 2 -p1 %build export SUSE_ASNEEDED=0