]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-disk: timeout ceph-disk to avoid blocking forever 10262/head
authorLoic Dachary <ldachary@redhat.com>
Tue, 12 Jul 2016 14:56:52 +0000 (16:56 +0200)
committerLoic Dachary <ldachary@redhat.com>
Mon, 18 Jul 2016 06:53:11 +0000 (08:53 +0200)
When ceph-disk runs from udev or init script, it is in the background
and should it block for any reason, it may keep a lock forever. All
calls to ceph-disk in these context are changed to timeout.

The TimeoutStartSec= and TimeoutStopSec= which are both set via
TimeoutSec= do not apply to Type=oneshot services.

https://www.freedesktop.org/software/systemd/man/systemd.service.html

Fixes: http://tracker.ceph.com/issues/16580
Signed-off-by: Loic Dachary <loic@dachary.org>
systemd/ceph-disk@.service

index 8b18ba4349de17ff2c7d07367ca0cf903734f09f..f13c30beb103d02afaffbb7e99e4b506b831a809 100644 (file)
@@ -4,5 +4,5 @@ Description=Ceph disk activation: %f
 [Service]
 Type=oneshot
 KillMode=none
-ExecStart=/bin/sh -c 'flock /var/lock/ceph-disk /usr/sbin/ceph-disk --verbose --log-stdout trigger --sync %f'
+ExecStart=/bin/sh -c 'timeout 120 flock /var/lock/ceph-disk /usr/sbin/ceph-disk --verbose --log-stdout trigger --sync %f'
 TimeoutSec=0