4f86dd2 core/device: device_coldplug(): don't set DEVICE_DEAD

1 file Authored by Martin Wilck 2 years ago, Committed by Yu Watanabe 2 years ago,
    core/device: device_coldplug(): don't set DEVICE_DEAD
    
    dm-crypt device units generated by systemd-cryptsetup-generator
    habe BindsTo= dependencies on their backend devices. The dm-crypt
    devices have the db_persist flag set, and thus survive the udev db
    cleanup while switching root. But backend devices usually don't survive.
    These devices are neither mounted nor used for swap, thus they will
    seen as DEVICE_NOT_FOUND after switching root.
    
    The BindsTo dependency will cause systemd to schedule a stop
    job for the dm-crypt device, breaking boot:
    
    [   68.929457] krypton systemd[1]: systemd-cryptsetup@cr_root.service: Unit is stopped because bound to inactive unit dev-disk-by\x2duuid-3bf91f73\x2d1ee8\x2d4cfc\x2d9048\x2d93ba349b786d.device.
    [   68.945660] krypton systemd[1]: systemd-cryptsetup@cr_root.service: Trying to enqueue job systemd-cryptsetup@cr_root.service/stop/replace
    [   69.473459] krypton systemd[1]: systemd-cryptsetup@cr_root.service: Installed new job systemd-cryptsetup@cr_root.service/stop as 343
    
    Avoid this by not setting the state of the backend devices to
    DEVICE_DEAD.
    
    Fixes the LUKS setup issue reported in #23429.
    
    (cherry picked from commit cf1ac0cfe44997747b0f857a1d0b67cea1298272)
    
        
file modified
+0 -2