ALT Linux Bugzilla
– Attachment 1491 Details for
Bug 9581
Separate blacklists for different kernels
New bug
|
Search
|
[?]
|
Help
Register
|
Log In
[x]
|
Forgot Password
Login:
[x]
|
EN
|
RU
[patch]
separate blacklists (in addition to main blacklist) for hotplug-2004_09_23-alt17
hotplug-2004_09_23-blacklist_addon.patch (text/plain), 5.64 KB, created by
Artem Delendik
on 2006-05-17 00:36:09 MSD
(
hide
)
Description:
separate blacklists (in addition to main blacklist) for hotplug-2004_09_23-alt17
Filename:
MIME Type:
Creator:
Artem Delendik
Created:
2006-05-17 00:36:09 MSD
Size:
5.64 KB
patch
obsolete
>diff -ur hotplug-2004_09_23.orig/etc/hotplug/acpi.rc hotplug-2004_09_23/etc/hotplug/acpi.rc >--- hotplug-2004_09_23.orig/etc/hotplug/acpi.rc 2006-05-16 22:10:19 +0300 >+++ hotplug-2004_09_23/etc/hotplug/acpi.rc 2006-05-16 21:19:05 +0300 >@@ -18,15 +18,16 @@ > # start this script only for 2.6 kernel and if acpi namespace enabled > [ -d $SYSFS/firmware/acpi/namespace/ACPI ] || exit 0 > >- > start() > { >- MODULES=`/usr/bin/acpiscan -r 2>/dev/null|sort -u` >- for i in $MODULES >- do >- /sbin/modprobe $i >/dev/null >+ MODULES=`/usr/bin/acpiscan -r 2>/dev/null|sort -u && echo "ac"` >+ for i in $MODULES ; do >+ if ! loaded $i ; then >+ if ! blacklisted $i ; then >+ /sbin/modprobe $i >/dev/null >+ fi >+ fi > done >- modprobe ac >/dev/null > } > > stop() >@@ -36,7 +37,6 @@ > do > /sbin/modprobe -r $i >/dev/null > done >- modprobe -r ac >/dev/null > } > > status() >diff -ur hotplug-2004_09_23.orig/etc/hotplug/block.rc hotplug-2004_09_23/etc/hotplug/block.rc >--- hotplug-2004_09_23.orig/etc/hotplug/block.rc 2006-05-16 22:10:19 +0300 >+++ hotplug-2004_09_23/etc/hotplug/block.rc 2006-05-16 22:18:48 +0300 >@@ -19,8 +19,13 @@ > > start() > { >- for i in `storagescan -r 2>/dev/null|uniq`;do >- modprobe $i >+ MODULES=`storagescan -r 2>/dev/null|uniq` >+ for i in $MODULES ; do >+ if ! loaded $i ; then >+ if ! blacklisted $i ; then >+ /sbin/modprobe $i >/dev/null >+ fi >+ fi > done > } > >diff -ur hotplug-2004_09_23.orig/etc/hotplug/cpu.rc hotplug-2004_09_23/etc/hotplug/cpu.rc >--- hotplug-2004_09_23.orig/etc/hotplug/cpu.rc 2006-05-16 22:10:19 +0300 >+++ hotplug-2004_09_23/etc/hotplug/cpu.rc 2006-05-16 21:37:26 +0300 >@@ -16,11 +16,14 @@ > > start() > { >- MODULES=`/usr/bin/cpuscan -r 2>/dev/null|sort -u` >- for i in $MODULES >- do >- /sbin/modprobe $i >/dev/null >- done >+ MODULES=`/usr/bin/cpuscan -r 2>/dev/null|sort -u` >+ for i in $MODULES ; do >+ if ! loaded $i ; then >+ if ! blacklisted $i ; then >+ /sbin/modprobe $i >/dev/null >+ fi >+ fi >+ done > } > > stop() >diff -ur hotplug-2004_09_23.orig/etc/hotplug/hotplug.functions hotplug-2004_09_23/etc/hotplug/hotplug.functions >--- hotplug-2004_09_23.orig/etc/hotplug/hotplug.functions 2006-05-16 22:10:19 +0300 >+++ hotplug-2004_09_23/etc/hotplug/hotplug.functions 2006-05-16 21:45:39 +0300 >@@ -83,6 +83,39 @@ > mesg "$@" > } > >+# check if module's already loaded >+# if it's present return 1 >+# else return 0 >+ >+loaded() >+{ >+ local MODULE=$1 >+ if lsmod | grep -q "^$(echo $MODULE|sed -e 's/-/_/g') " > /dev/null 2>&1; then >+ return 0; >+ fi >+ return 1; >+} >+ >+# check if module is in blacklist >+# if it's true return 1 >+# else return 0 >+ >+blacklisted() >+{ >+ if [ ! -f $HOTPLUG_DIR/blacklist.d/`uname -r`/blacklist ] ; then >+ mkdir -p $HOTPLUG_DIR/blacklist.d/`uname -r` >+ touch $HOTPLUG_DIR/blacklist.d/`uname -r`/blacklist >+ fi >+ local MODULE=$1 >+ if grep -q "^$(echo $MODULE|sed -e 's/[-_]/[-_]/g')\$" $HOTPLUG_DIR/blacklist \ >+ $HOTPLUG_DIR/blacklist.d/* \ >+ $HOTPLUG_DIR/blacklist.d/`uname -r`/blacklist \ >+ >/dev/null 2>&1; then >+ debug_mesg "blacklisted module ... $MODULE" >+ return 0 >+ fi >+ return 1 >+} > > # > # Not "modprobe --autoclean" ... one driver module can handle many >@@ -149,11 +182,8 @@ > do > # maybe driver modules need loading > LOADED=false >- if ! lsmod | grep -q "^$(echo $MODULE|sed -e 's/-/_/g') " > /dev/null 2>&1; then >- if grep -q "^$(echo $MODULE|sed -e 's/[-_]/[-_]/g')\$" $HOTPLUG_DIR/blacklist \ >- $HOTPLUG_DIR/blacklist.d/* \ >- >/dev/null 2>&1; then >- debug_mesg "... blacklisted module: $MODULE" >+ if ! loaded $MODULE ; then >+ if blacklisted $MODULE ; then > continue > fi > >diff -ur hotplug-2004_09_23.orig/etc/hotplug/scsi.agent hotplug-2004_09_23/etc/hotplug/scsi.agent >--- hotplug-2004_09_23.orig/etc/hotplug/scsi.agent 2006-05-16 22:10:19 +0300 >+++ hotplug-2004_09_23/etc/hotplug/scsi.agent 2006-05-16 22:18:28 +0300 >@@ -61,7 +61,9 @@ > esac > if [ "$MODULE" != "" ]; then > mesg "$TYPE at $DEVPATH" >- modprobe $MODULE >+ if ! blacklisted $MODULE ; then >+ modprobe $MODULE >+ fi > else > debug_mesg "how to add device type=$TYPE at $DEVPATH ??" > fi >diff -ur hotplug-2004_09_23.orig/etc/hotplug/usb.rc hotplug-2004_09_23/etc/hotplug/usb.rc >--- hotplug-2004_09_23.orig/etc/hotplug/usb.rc 2006-05-16 22:10:19 +0300 >+++ hotplug-2004_09_23/etc/hotplug/usb.rc 2006-05-16 22:24:35 +0300 >@@ -141,7 +141,9 @@ > # if distro hasn't already done part of this ... load core, > # and mount usbfs before the first hotplug agent fires > # (so it'll be available to the agents). >- modprobe -q usbcore >/dev/null 2>&1 >+ if ! blacklisted usbcore ; then >+ modprobe -q usbcore >/dev/null 2>&1 >+ fi > if [ -d /proc/bus/usb ]; then > # if it's not mounted, try to mount it > if [ -z "`grep " /proc/bus/usb " /proc/mounts`" ]; then >@@ -163,7 +165,13 @@ > # is enabled on this system, initting a root hub will cause hotplug > # events to fire for every device on the tree at that root. > >- for i in `/usr/bin/pciscan -r -c 00c:03 2>/dev/null|sort -u`;do modprobe $i;done >/dev/null 2>&1 >+ for i in `/usr/bin/pciscan -r -c 00c:03 2>/dev/null|sort -u`; do >+ if ! loaded $i ; then >+ if ! blacklisted $i ; then >+ modprobe $i >/dev/null >+ fi >+ fi >+ done > > # ... add any non-PCI HCDS here. Examples include the > # CRIS usb-host, Philips ISP-1161, Symlogic 811HS, and so on. >@@ -201,7 +209,11 @@ > # Some modules are statically loaded, perhaps because they are > # needed to activate filesystem device nodes. > for MODULE in $STATIC_MODULE_LIST; do >- modprobe $MODULE >+ if ! loaded $MODULE ; then >+ if ! blacklisted $MODULE ; then >+ modprobe $MODULE >+ fi >+ fi > done > > # we did everything we could ...
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 9581
: 1491