rpms/dracut/F-12 dracut-004-multipath-check.patch, NONE, 1.1 dracut.spec, 1.47, 1.48

Harald Hoyer harald at fedoraproject.org
Tue Jan 26 10:37:34 UTC 2010


Author: harald

Update of /cvs/pkgs/rpms/dracut/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26836

Modified Files:
	dracut.spec 
Added Files:
	dracut-004-multipath-check.patch 
Log Message:
* Tue Jan 26 2010 Harald Hoyer <harald at redhat.com> 004-4
- add multipath check


dracut-004-multipath-check.patch:
 check |   28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

--- NEW FILE dracut-004-multipath-check.patch ---
From: Peter Jones <pjones at redhat.com>
Subject: [PATCH] Add a check file for multipath.
Date: 	Fri, 22 Jan 2010 10:56:40 -0500

If multipath isn't installed, don't use it.  If we're in hostonly mode,
only install the multipath module if it's used for / .  Otherwise, if
the user was dumb enough to install it, they get it during bootup.
---
 modules.d/90multipath/check |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)
 create mode 100755 modules.d/90multipath/check

diff --git a/modules.d/90multipath/check b/modules.d/90multipath/check
new file mode 100755
index 0000000..d0cad4c
--- /dev/null
+++ b/modules.d/90multipath/check
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# if there's no multipath binary, no go.
+which multipath >/dev/null 2>&1 || exit 1
+
+[[ $1 = -d ]] && exit 0
+
+. $dracutfunctions
+[[ $debug ]] && set -x
+
+is_mpath() {
+    [ -e /sys/dev/block/$1/dm/uuid ] || return 1
+    [[ $(cat /sys/dev/block/$1/dm/uuid) =~ ^mpath- ]] && return 0
+    return 1
+}
+
+# If we're in hostonly mode, do mpath if we appear to be using it for /
+if [[ $1 = -h ]]; then
+    rootdev=$(find_root_block_device)
+    if [[ $rootdev ]]; then
+        check_block_and_slaves is_mpath "$rootdev" && exit 0
+    fi
+    exit 1
+fi
+
+# the user installed it, they get it...
+exit 0
-- 
1.6.5.2



Index: dracut.spec
===================================================================
RCS file: /cvs/pkgs/rpms/dracut/F-12/dracut.spec,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -p -r1.47 -r1.48
--- dracut.spec	26 Jan 2010 10:17:12 -0000	1.47
+++ dracut.spec	26 Jan 2010 10:37:34 -0000	1.48
@@ -20,7 +20,7 @@
 
 Name: dracut
 Version: 004
-Release: 3%{?rdist}
+Release: 4%{?rdist}
 Summary: Initramfs generator using udev
 Group: System Environment/Base		
 License: GPLv2+	
@@ -30,6 +30,7 @@ URL: http://apps.sourceforge.net/trac/dr
 Source0: dracut-%{version}%{?dashgittag}.tar.bz2
 Patch1:  dracut-004-emergency.patch
 Patch2:  dracut-004-forcepermissive.patch
+Patch3:  dracut-004-multipath-check.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 %if 0%{?fedora} > 12 || 0%{?rhel} >= 6
@@ -146,6 +147,7 @@ This package contains tools to assemble 
 %setup -q -n %{name}-%{version}%{?dashgittag}
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1 
 
 %build
 make WITH_SWITCH_ROOT=0%{?with_switch_root}
@@ -249,6 +251,9 @@ rm -rf $RPM_BUILD_ROOT
 %dir /var/lib/dracut/overlay
 
 %changelog
+* Tue Jan 26 2010 Harald Hoyer <harald at redhat.com> 004-4
+- add multipath check
+
 * Tue Jan 26 2010 Harald Hoyer <harald at redhat.com> 004-3
 - fix selinux handling if .autorelabel is present
 - Resolves: rhbz#557744



More information about the scm-commits mailing list