Am 23.01.2013 21:15, schrieb Colin Guthrie: > 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 > } > which reminds me to rename push to var_push :) -- To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html