swap: order file-based swap devices after remount-rootfs

This commit is contained in:
Lennart Poettering 2010-11-22 21:06:38 +01:00
parent 16f6682d0b
commit cfcfd4aefe
2 changed files with 10 additions and 3 deletions

View File

@ -65,6 +65,7 @@
#define SPECIAL_DBUS_SOCKET "dbus.socket"
#define SPECIAL_GETTY_TARGET "getty.target"
#define SPECIAL_SERIAL_GETTY_SERVICE "serial-getty@.service"
#define SPECIAL_REMOUNT_ROOTFS_SERVICE "remount-rootfs.service"
#ifndef SPECIAL_SYSLOG_SERVICE
#define SPECIAL_SYSLOG_SERVICE "syslog.service"

View File

@ -199,9 +199,15 @@ static int swap_add_device_links(Swap *s) {
else
return 0;
return unit_add_node_link(UNIT(s), s->what,
!p->noauto && p->nofail &&
s->meta.manager->running_as == MANAGER_SYSTEM);
if (is_device_path(s->what))
return unit_add_node_link(UNIT(s), s->what,
!p->noauto && p->nofail &&
s->meta.manager->running_as == MANAGER_SYSTEM);
else
/* File based swap devices need to be ordered after
* remount-rootfs.service, since they might need a
* writable file system. */
return unit_add_dependency_by_name(UNIT(s), UNIT_AFTER, SPECIAL_REMOUNT_ROOTFS_SERVICE, NULL, true);
}
static int swap_add_default_dependencies(Swap *s) {