[Pkg-sysvinit-devel] Bug#481028: initscripts: if-up.d too aggressive with multiple interfaces
Zachary Palmer
zep_debbug at bahj.com
Tue Mar 17 21:47:15 UTC 2009
Package: initscripts
Version: 2.86.ds1-61
Followup-For: Bug #481028
I recently upgraded to Lenny and noticed the same problem on my machine (albeit to a lesser extent, as I only have about ten virtual interfaces). I've observed that the delay problem is not actually the mountnfs script itself (although it does like to babble); it's that *every* script in if-up.d gets executed for *every* interface. This means that anyone who has fifty virtual interfaces gets to run things like openssh-server fifty times. For me, removing avahi-daemon sped things up quite a lot; it took a couple seconds each time to restart.
Which leads me to wonder: should these scripts be rewritten to recognize (as mountnfs does) that there are still interfaces pending and hold off their operations until the last interface comes up? The script used in mountnfs could be generalized so that each script simply does something like
is_last_interface || exit 0
at the top (probably with an additional check to ensure that we're actually bringing everything up and not just in the middle of reconfiguring one interface) in order to prevent them from being run a bunch of times.
What we really need is to have "ifup -a" set another environment variable (in addition to the ones listed in the interfaces man page) which indicates whether or not the current interface being brought up is the last one (such as NOT_LAST). NOT_LAST would be unset for the last interface of an ifup -a as well as for any execution of ifup on a single interface (e.g., ifup eth0). But I don't know how feasible that would be; can anyone make any comments about that?
Nonetheless, mountnfs is still quite chatty. It could probably mention all of the interfaces on a single line; that would help a lot. (e.g.: "if-up.d/mountnfs[eth1:5]: waiting for interfaces before doing NFS mounts: eth1:6, eth1:7, eth1:8, ...")
Cheers!
-- System Information:
Debian Release: 5.0
APT prefers stable
APT policy: (600, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.26-1-686 (SMP w/1 CPU core)
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/bash
Versions of packages initscripts depends on:
ii debianutils 2.30 Miscellaneous utilities specific t
ii e2fsprogs 1.41.3-1 ext2/ext3/ext4 file system utiliti
ii libc6 2.7-18 GNU C Library: Shared libraries
ii lsb-base 3.2-20 Linux Standard Base 3.2 init scrip
ii mount 2.13.1.1-1 Tools for mounting and manipulatin
ii sysvinit-utils 2.86.ds1-61 System-V-like utilities
Versions of packages initscripts recommends:
ii psmisc 22.6-1 Utilities that use the proc filesy
initscripts suggests no packages.
-- no debconf information
More information about the Pkg-sysvinit-devel
mailing list