From f0a47578c7c4521d7cf50e9419620ddb629736f5 Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Sun, 20 Sep 2015 13:54:05 +0200 Subject: [PATCH] ceph-disk: systemd must not kill a running ceph-disk When activating a device, ceph-disk trigger restarts the ceph-disk systemd service. Two consecutive udev add on the same device will restart the ceph-disk systemd service and the second one may kill the first one, leaving the device half activated. The ceph-disk systemd service is instructed to not kill an existing process when restarting. The second run waits (via flock) for the second one to complete before running so that they do not overlap. http://tracker.ceph.com/issues/13160 Fixes: #13160 Signed-off-by: Loic Dachary --- systemd/ceph-disk@.service | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systemd/ceph-disk@.service b/systemd/ceph-disk@.service index 88e4aef44160e..cff7e9fbc4a25 100644 --- a/systemd/ceph-disk@.service +++ b/systemd/ceph-disk@.service @@ -3,6 +3,6 @@ Description=Ceph disk activation: %f [Service] Type=oneshot -RemainAfterExit=yes -ExecStart=/usr/sbin/ceph-disk --verbose --log-stdout trigger --sync %f +KillMode=none +ExecStart=/bin/flock /var/lock/ceph-disk -c '/usr/sbin/ceph-disk --verbose --log-stdout trigger --sync %f' TimeoutSec=0 -- 2.39.5