#760380 dibbler-client: init script should not require $remote_fs

Package:
dibbler-client
Source:
dibbler
Description:
portable DHCPv6 client
Submitter:
Guillaume Subiron
Date:
2014-09-03 12:51:06 UTC
Severity:
important
#760380#5
Date:
2014-09-03 12:44:45 UTC
From:
To:
Dear Maintainer,

In my fstab, I automatically mount a rbd volume in IPv6. But when it
comes to shutdown or reboot the server, dibbler-client stops first, and
umount hangs indefinitely.

This is what I get in my console :

INIT: Sending processes the TERM signal
[info] Using makefile-style concurrent boot in runlevel 6.
[ ok ] Stopping deferred execution scheduler: atd.
Stopping DHCPv6 client: dibbler-client.
[ ok ] Stopping nagios-nrpe: nagios-nrpe.
Stopping nginx: nginx.
[ ok ] Stopping Postfix Mail Transport Agent: postfix.
[ ok ] Stopping authentication failure monitor: fail2ban.
[ ok ] RBD un-mapping: '/dev/rbd0'...un-mounting '/media'...[....]
Stopping resolvconf...done.

And after a while, I get a kernel error :

[ 480.428085] INFO: task umount:6317 blocked for more than 120 seconds.
[ 480.429284] Tainted: G W 3.14-0.bpo.1-amd64 #1
[ 480.430335] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[ 480.431804] umount D ffff88003fc14340 0 6317 6316 0x00000000
[ 480.433214] ffff880039c90190 0000000000000086 ffff880039da7c88
ffffffff81813480
[ 480.434691] 0000000000014340 ffff880039da7fd8 0000000000014340
ffff880039c90190
[ 480.435687] ffff880039b1c3a8 ffff88003fc14bd0 ffff880039c90190
ffffffff811c8e60
[ 480.436354] Call Trace:
[ 480.436576] [<ffffffff811c8e60>] ? __wait_on_buffer+0x30/0x30
[ 480.437063] [<ffffffff814efb97>] ? io_schedule+0x87/0xd0
[ 480.437522] [<ffffffff811c8e69>] ? sleep_on_buffer+0x9/0x10
[ 480.437992] [<ffffffff814f0182>] ? __wait_on_bit+0x52/0x80
[ 480.438454] [<ffffffff811c8e60>] ? __wait_on_buffer+0x30/0x30
[ 480.438934] [<ffffffff814f022c>] ? out_of_line_wait_on_bit+0x7c/0xa0
[ 480.439476] [<ffffffff810a6830>] ? wake_atomic_t_function+0x30/0x30
[ 480.440010] [<ffffffff811c9dc8>] ? __sync_dirty_buffer+0x98/0xc0
[ 480.440554] [<ffffffffa0189268>] ? ext4_commit_super+0x1c8/0x220
[ext4]
[ 480.441196] [<ffffffffa018abe6>] ? ext4_put_super+0xd6/0x330 [ext4]
[ 480.441724] [<ffffffff811b2c30>] ? evict_inodes+0xb0/0x110
[ 480.442188] [<ffffffff8119a836>] ? generic_shutdown_super+0x76/0x100
[ 480.442717] [<ffffffff8119a8e8>] ? kill_block_super+0x28/0x80
[ 480.443205] [<ffffffff8119aaeb>] ? deactivate_locked_super+0x3b/0x70
[ 480.443737] [<ffffffff811b6100>] ? mntput_no_expire+0xd0/0x170
[ 480.444238] [<ffffffff811b72cc>] ? SyS_umount+0xac/0x3f0
[ 480.444690] [<ffffffff814faf79>] ? system_call_fastpath+0x16/0x1b

I think dibbler-client should not stop so soon.

I try to remove $remote_fs from "Required-Stop" LSB header, in
dibbler-client init script, and put it in "X-Stop-After" header. I don't
know if this is the best solution, but it works.

What do you think ?

Thanks,