da6b28 Cleanup dead systemd services before start sysroot.mount

1 file Authored by Kairui Song 3 years ago, Committed by liutgnu 3 years ago,
    Cleanup dead systemd services before start sysroot.mount
    
    Resolves: bz1972463
    Conflict: None
    Upstream: Fedora
    
    commit 2603ba71878f73ffa0608cb9c855da398c4132c1 (origin/rawhide, rawhide)
    Author: Kairui Song <kasong@redhat.com>
    Date:   Fri Jul 2 03:27:05 2021 +0800
    
        Cleanup dead systemd services before start sysroot.mount
    
        When kdump failed due to initqueue timeout, the sysroot.mount and other
        serivces could be stuck in `start` but `dead` status:
    
        Example output of systemctl:
    
        dev-disk-by\x2duuid-530830d1\x2df2c7\x2d4c9a\x2d9a82\x2d148609097521.device loaded inactive   dead    start
        <... snip ...>
        squash-root.mount               loaded active     mounted       /squash/root
        squash.mount                    loaded active     mounted       /squash
        sysroot.mount                   loaded inactive   dead    start /sysroot
        <... snip ...>
        dracut-cmdline.service          loaded active     exited        dracut cmdline hook
        dracut-initqueue.service        loaded activating start   start dracut initqueue hook
        dracut-mount.service            loaded inactive   dead    start dracut mount hook
    
        At this point calling `systemctl start sysroot.mount` will just hang as
        systemd will just wait for the services that are stuck in `start`
        status. So call `systemctl cancel` here to cancel all pending jobs and
        have a clean start for mounting sysroot.
    
        Signed-off-by: Kairui Song <kasong@redhat.com>
        Acked-by: Coiby Xu <coxu@redhat.com>
    
    Signed-off-by: Kairui Song <kasong@redhat.com>
    
        
file modified
+2 -0