(In reply to Coly Li from comment #2) > (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. > If no further response, I will close this report in next several weeks. Coly Li