https://bugzilla.suse.com/show_bug.cgi?id=1187656 https://bugzilla.suse.com/show_bug.cgi?id=1187656#c2 --- Comment #2 from Coly Li <colyli@suse.com> --- (In reply to Coly Li from comment #1)
(In reply to Daniel Molkentin from comment #0)
The /usr/lib/systemd/system/mdcheck_start.service file states the following:
[Service] Type=oneshot Environment="MDADM_CHECK_DURATION=6 hours"
"oneshot" implies that the service will remain in "activating" state for the entire duration (long, up to the stated 6 hours.
It would be better to use Type=simple, which does not keep the unit in "activating" mode. This is an important difference in semantics, because monitoring tools (e.g. prometheus) tend to alert if a unit is stuck in "activating" for more than (typically) 5 minutes (which usually makes sense, but not here).
The only side effect that I could find is that systemd will not wait for follow-up units to start, but since this is a timer-triggered unit, I would not expect anyone else to depend on this service.
Verified by adding an override file.
IMHO the above opinion makes sense. Let me try to post a change to upstream and see whether mdadm maintainer likes it or not.
It seems type=simple has more restriction like the task process should not do fork. There is no assurance that mdcheck won't do fork during its run time. Hmm, how about using an explicit RemainAfterExit=no in your case, let's try and see whether it works for you. Coly Li -- You are receiving this mail because: You are on the CC list for the bug.