This shouldn't really cause any problems, but it's nice to be neat.
Also make the lvm check more efficient when running in kernel_only mode.
---
modules.d/90dmraid/module-setup.sh | 7 +++++--
modules.d/90lvm/module-setup.sh | 6 +++---
modules.d/90mdraid/module-setup.sh | 7 +++++--
3 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/modules.d/90dmraid/module-setup.sh
b/modules.d/90dmraid/module-setup.sh
index eb949dc..c3bddb7 100755
--- a/modules.d/90dmraid/module-setup.sh
+++ b/modules.d/90dmraid/module-setup.sh
@@ -3,7 +3,7 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
check() {
- local _rootdev
+ local _rootdev _activated
# if we don't have dmraid installed on the host system, no point
# in trying to support it in the initramfs.
type -P dmraid >/dev/null || return 1
@@ -32,7 +32,10 @@ check() {
[[ ${DM_NAME} ]] || return 1
if ! [[ $kernel_only ]]; then
- echo " rd.dm.uuid=${DM_NAME} " >>
"${initdir}/etc/cmdline.d/90dmraid.conf"
+ if ! strstr " ${_activated[*]} " " ${DM_NAME} "; then
+ echo " rd.dm.uuid=${DM_NAME} " >>
"${initdir}/etc/cmdline.d/90dmraid.conf"
+ push _activated "${DM_NAME}"
+ fi
fi
return 0
}
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
index cefd3e9..a537b1a 100755
--- a/modules.d/90lvm/module-setup.sh
+++ b/modules.d/90lvm/module-setup.sh
@@ -12,11 +12,11 @@ check() {
eval $(udevadm info --query=property --name=/dev/block/$1|egrep
'(DM_VG_NAME|DM_LV_NAME|DM_UDEV_DISABLE_DISK_RULES_FLAG)=')
[[ "$DM_UDEV_DISABLE_DISK_RULES_FLAG" = "1" ]] && return 1
[[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || return 1
- if ! strstr " ${_activated[*]} " " ${DM_VG_NAME}/${DM_LV_NAME} "; then
- if ! [[ $kernel_only ]]; then
+ if ! [[ $kernel_only ]]; then
+ if ! strstr " ${_activated[*]} " " ${DM_VG_NAME}/${DM_LV_NAME} ";
then
echo " rd.lvm.lv=${DM_VG_NAME}/${DM_LV_NAME} " >>
"${initdir}/etc/cmdline.d/90lvm.conf"
+ push _activated "${DM_VG_NAME}/${DM_LV_NAME}"
fi
- push _activated "${DM_VG_NAME}/${DM_LV_NAME}"
fi
return 0
}
diff --git a/modules.d/90mdraid/module-setup.sh
b/modules.d/90mdraid/module-setup.sh
index 3b5620c..116b822 100755
--- a/modules.d/90mdraid/module-setup.sh
+++ b/modules.d/90mdraid/module-setup.sh
@@ -3,7 +3,7 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
check() {
- local _rootdev
+ local _rootdev _activated
# No mdadm? No mdraid support.
type -P mdadm >/dev/null || return 1
@@ -21,7 +21,10 @@ check() {
[[ ${MD_UUID} ]] || return 1
if ! [[ $kernel_only ]]; then
- echo " rd.md.uuid=${MD_UUID} " >>
"${initdir}/etc/cmdline.d/90mdraid.conf"
+ if ! strstr " ${_activated[*]} " " ${MD_UUID} "; then
+ echo " rd.md.uuid=${MD_UUID} " >>
"${initdir}/etc/cmdline.d/90mdraid.conf"
+ push _activated "${MD_UUID}"
+ fi
fi
return 0
}
--
1.8.1
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html