[Pkg-sysvinit-devel] Bug#552104: Bug#552104: initscripts: sendsigs is executed before remote file systems (cifs) are disconnected

Teodor mteodor at gmail.com
Sun Nov 1 14:08:12 UTC 2009


Hi Petter,

On Fri, Oct 23, 2009 at 3:12 PM, Petter Reinholdtsen <pere at hungry.com> wrote:
> I believe this is a bug in network-manager, taking down the network
> interfaces too early during boot.  There are several BTS reports
> related to this issue, but I did not have time to track them down and
> merge this with them.

After several hours of debugging this problem I don't see this as a
bug in network-manager but as a missing nice to have feature.
I've added these lines to some of the init.d script to see the status
after each one is executed:
  ip addr list; mount | grep cifs
  pgrep -fl dhc; pgrep -fl Net
  printf '\n\n'; sleep 6

  exit 0

What I know for sure is that 'network-manager' is executed too early
(K01) and brings down the network before 'umountnfs' has a change to
cleanly disconnect remote file systems. I tried the following LSB
configuration on the /etc/init.d/network-manager script:
# Provides:          network-manager
# Required-Start:    $remote_fs dbus hal
# Required-Stop:     $remote_fs dbus hal umountnfs

Although adding 'umountnfs' to required-stop there is no change in the
calculated dynamic order (K01). I don't know at this time why for
'networking' it's working properly, this meaning that is stopped
*after* umountnfs:
  r2:/etc/init.d# ls -l /etc/rc6.d/
  [..]
  lrwxrwxrwx 1 root root  18 2009-10-23 15:35 K03sendsigs -> ../init.d/sendsigs
  lrwxrwxrwx 1 root root  17 2009-10-08 21:55 K04rsyslog -> ../init.d/rsyslog
  lrwxrwxrwx 1 root root  20 2009-10-17 22:37 K05hwclock.sh ->
../init.d/hwclock.sh
  lrwxrwxrwx 1 root root  22 2009-11-01 14:50 K05umountnfs.sh ->
../init.d/umountnfs.sh
  lrwxrwxrwx 1 root root  20 2009-11-01 14:50 K06networking ->
../init.d/networking
  lrwxrwxrwx 1 root root  18 2009-11-01 14:50 K07ifupdown -> ../init.d/ifupdown
  lrwxrwxrwx 1 root root  18 2009-11-01 14:50 K08umountfs -> ../init.d/umountfs
  lrwxrwxrwx 1 root root  20 2009-11-01 14:50 K09umountroot ->
../init.d/umountroot
  lrwxrwxrwx 1 root root  16 2009-11-01 14:50 K10reboot -> ../init.d/reboot

I tried to use the non-standard X-Stop-After on network-manager like this:
  # Required-Start:    $remote_fs dbus hal
  # Required-Stop:     $remote_fs dbus hal
  # X-Stop-After:      umountnfs

According to the LSB description on [1] it should have the same
practical effect but no:
  r2:/etc/init.d# update-rc.d -n network-manager defaults
  update-rc.d: using dependency based boot sequencing
  insserv: There is a loop between service umountnfs and
network-manager if stopped
  insserv:  loop involving service network-manager at depth 3
  insserv:  loop involving service umountnfs at depth 2
  insserv:  loop involving service anacron at depth 1
  insserv:  loop involving service networking at depth 4
  insserv:  loop involving service rsyslog at depth 2
  insserv: There is a loop between service umountnfs and
network-manager if stopped
  insserv: exiting now without changing boot order!

Do you or anyone knows more about the LSB headers and insserv
implementation to have 'network-manager' have the same priority as
'networking' and to be stopped after 'umountnfs'?

Thanks





More information about the Pkg-sysvinit-devel mailing list