Search
j0ke.net Open Build Service
>
Projects
>
home:jg
:
playground
>
dracut
> 0004-Add-a-check-file-for-multipath.patch
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File 0004-Add-a-check-file-for-multipath.patch of Package dracut
From c4b4668b382b8ed2e16fe5a2393852074c230e9b Mon Sep 17 00:00:00 2001 From: Peter Jones <pjones@redhat.com> Date: Fri, 22 Jan 2010 10:56:40 -0500 Subject: [PATCH] Add a check file for multipath. 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 file changed, 27 insertions(+) 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..2723b3d --- /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.8.3.1