systemd creates one .swap unit per udev device link of every device listed in /proc/swaps. When such a device link disappears while the swap itself stays on -- e.g. because the link is not unique and udev repoints it at another partition -- /proc/swaps doesn't change, so nothing re-examines the unit and it stays active. The next daemon-reload then orphans it: all units are dropped and rebuilt, the enumeration from /proc/swaps no longer produces this name, and only the deserialization brings the unit back, i.e. by name and without a fragment on disk. swap_coldplug() restored its active state regardless, leaving a unit that is active, unloadable and has no device, and that is never garbage collected because active units aren't. Refuse to adopt such a unit: if neither /proc/swaps nor a fragment vouches for it, it describes a swap that doesn't exist anymore. Units that still have a control process around are left alone, so that the process is re-adopted and the timeout re-armed; those end up dead once it exits, as they aren't backed by /proc/swaps either. Issue: https://github.com/systemd/systemd/issues/43442
System and Service Manager
Details
Most documentation is available on systemd's website.
Assorted, older, general information about systemd can be found in the systemd Wiki.
Information about build requirements is provided in the README file.
Consult our NEWS file for information about what's new in the most recent systemd versions.
Please see the Code Map for information about this repository's layout and content.
Please see the Hacking guide for information on how to hack on systemd and test your modifications.
Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.
When preparing patches for systemd, please follow our Coding Style Guidelines.
If you are looking for support, please contact our mailing list, join our IRC channel #systemd on libera.chat or Matrix channel
Stable branches with backported patches are available in the stable repo.
We have a security bug bounty program sponsored by the Sovereign Tech Fund hosted on YesWeHack
Repositories with distribution packages built from git main are available on OBS, and also repositories with packages built from the latest stable release
