[systemd-devel] Swap deactivation problem

Max Horn maexlich at gmail.com
Thu Oct 11 01:42:30 PDT 2012


Since switching to Systemd on my Arch Linux Installation I am not able
to influence the time the swap gets deactivated on shutdown. It simply
gets deactivated with the following Message:
[  OK  ] Deactivated swap /dev/disk/by-id/ata-ST1500DL003-9VT...5YD51614-part3.
[  OK  ] Deactivated swap /dev/disk/by-id/wwn-0x5000c5003e1ae4b9-part3.
first thing after the halt command. Systemd seems to completely ignore
Dependencies to custom made dev-sda3.swap Units and even removes the
Swap this early if it was manually activated with the swapon command.
Here is the Systemd Debug Output:

[root at server ~]# swapon -p 80 /dev/sda3
[   47.130000] Adding 262140k swap on /dev/sda3.  Priority:80
extents:1 across:262140k
dev-disk-by\x2duuid-cf99f458\x2d47e9\x2d4bb2\x2d9097\x2dbacc824d3653.swap
changed dead -> active
Successfully opened /dev/console for logging.
dev-disk-by\x2dpath-platform\x2doxnassata.0\x2dscsi\x2d0:0:0:0\x2dpart3.swap
changed dead -> active
Successfully opened /dev/console for logging.
dev-disk-by\x2did-wwn\x2d0x5000c5003e1ae4b9\x2dpart3.swap changed dead -> active
Successfully opened /dev/console for logging.
dev-disk-by\x2did-ata\x2dST1500DL003\x2d9VT16L_5YD51614\x2dpart3.swap
changed dead -> active
Successfully opened /dev/console for logging.

[root at server ~]# halt
Accepted connection on private bus.
Got D-Bus request: org.freedesktop.systemd1.Manager.StartUnit() on
/org/freedesktop/systemd1
Trying to enqueue job halt.target/start/replace
Installed new job halt.target/start as 59
Installed new job systemd-halt.service/start as 60
Installed new job shutdown.target/start as 61
Installed new job systemd-random-seed-save.service/start as 62
Installed new job systemd-update-utmp-shutdown.service/start as 65
Installed new job local-fs.target/stop as 66
Installed new job systemd-user-sessions.service/stop as 68
Installed new job basic.target/stop as 69
Installed new job multi-user.target/stop as 70
Installed new job graphical.target/stop as 71
Installed new job dbus.service/stop as 73
Installed new job systemd-logind.service/stop as 74
Installed new job serial-getty at ttyS0.service/stop as 75
Installed new job getty at tty1.service/stop as 76
Installed new job xinetd.service/stop as 77
Installed new job ntpd.service/stop as 79
Installed new job network.service/stop as 80
Installed new job systemd-tmpfiles-clean.timer/stop as 81
Installed new job systemd-ask-password-wall.path/stop as 88
Installed new job dbus.socket/stop as 89
Installed new job network.target/stop as 91
Installed new job getty.target/stop as 92
Installed new job sysinit.target/stop as 94
Installed new job systemd-ask-password-console.path/stop as 95
Installed new job systemd-sysctl.service/stop as 99
Installed new job systemd-vconsole-setup.service/stop as 100
Installed new job cryptsetup.target/stop as 101
Installed new job swap.target/stop as 102
Installed new job remote-fs.target/stop as 105
Installed new job sockets.target/stop as 106
Installed new job systemd-remount-fs.service/stop as 107
Installed new job local-fs-pre.target/stop as 108
Installed new job umount.target/start as 109
Installed new job tmp.mount/stop as 110
Installed new job
dev-disk-by\x2duuid-cf99f458\x2d47e9\x2d4bb2\x2d9097\x2dbacc824d3653.swap/stop
as 111
Installed new job
dev-disk-by\x2dpath-platform\x2doxnassata.0\x2dscsi\x2d0:0:0:0\x2dpart3.swap/stop
as 112
Installed new job
dev-disk-by\x2did-wwn\x2d0x5000c5003e1ae4b9\x2dpart3.swap/stop as 113
Installed new job
dev-disk-by\x2did-ata\x2dST1500DL003\x2d9VT16L_5YD51614\x2dpart3.swap/stop
as 114
Installed new job final.target/start as 116
Enqueued job halt.target/start as 59
Redirecting stop request from
dev-disk-by\x2did-ata\x2dST1500DL003\x2d9VT16L_5YD51614\x2dpart3.swap
to dev-sda3.swap.
Job dev-disk-by\x2did-ata\x2dST1500DL003\x2d9VT16L_5YD51614\x2dpart3.swap/stop
finished, result=done
[[1m[32m  OK  [0m] Deactivated swap
/dev/disk/by-id/ata-ST1500DL003-9VT...5YD51614-part3.
Redirecting stop request from
dev-disk-by\x2did-wwn\x2d0x5000c5003e1ae4b9\x2dpart3.swap to
dev-sda3.swap.
Job dev-disk-by\x2did-wwn\x2d0x5000c5003e1ae4b9\x2dpart3.swap/stop
finished, result=done
[[1m[32m  OK  [0m] Deactivated swap
/dev/disk/by-id/wwn-0x5000c5003e1ae4b9-part3.
Redirecting stop request from
dev-disk-by\x2dpath-platform\x2doxnassata.0\x2dscsi\x2d0:0:0:0\x2dpart3.swap
to dev-sda3.swap.
Job dev-disk-by\x2dpath-platform\x2doxnassata.0\x2dscsi\x2d0:0:0:0\x2dpart3.swap/stop
finished, result=done
[[1m[32m  OK  [0m] Deactivated swap
/dev/disk/by-path/platform-oxnassat...-0:0:0:0-part3.
Redirecting stop request from
dev-disk-by\x2duuid-cf99f458\x2d47e9\x2d4bb2\x2d9097\x2dbacc824d3653.swap
to dev-sda3.swap.
Job dev-disk-by\x2duuid-cf99f458\x2d47e9\x2d4bb2\x2d9097\x2dbacc824d3653.swap/stop
finished, result=done
[[1m[32m  OK  [0m] Deactivated swap
/dev/disk/by-uuid/cf99f458-47e9-4bb...7-bacc824d3653.
graphical.target changed active -> dead

This causes my small server to crash because the swap is removed
before Ram consuming processes ( samba4 mysql etc. ) are terminated.
Does anyone have an Idea how to prevent this behavior? I already tried
to set dependencies to the swap target but it did not work...

Best Regards,

Max


More information about the systemd-devel mailing list