swap: don't add mount links for swap devices

This commit is contained in:
Lennart Poettering 2010-05-16 18:13:58 +02:00
parent d4e6a6f66b
commit 8407a5d018
4 changed files with 16 additions and 1 deletions

3
swap.c
View File

@ -70,6 +70,9 @@ int swap_add_one_mount_link(Swap *s, Mount *m) {
m->meta.load_state != UNIT_LOADED)
return 0;
if (is_device_path(s->what))
return 0;
if (!path_startswith(s->what, m->where))
return 0;

2
unit.c
View File

@ -1864,7 +1864,7 @@ int unit_add_node_link(Unit *u, const char *what, bool wants) {
/* Adds in links to the device node that this unit is based on */
if (!path_startswith(what, "/dev/") && !path_startswith(what, "/sys/"))
if (!is_device_path(what))
return 0;
if (!(e = unit_name_build_escape(what+1, NULL, ".device")))

10
util.c
View File

@ -1927,6 +1927,16 @@ bool is_clean_exit(int code, int status) {
return false;
}
bool is_device_path(const char *path) {
/* Returns true on paths that refer to a device, either in
* sysfs or in /dev */
return
path_startswith(path, "/dev/") ||
path_startswith(path, "/sys/");
}
static const char *const ioprio_class_table[] = {
[IOPRIO_CLASS_NONE] = "none",
[IOPRIO_CLASS_RT] = "realtime",

2
util.h
View File

@ -231,6 +231,8 @@ ssize_t loop_read(int fd, void *buf, size_t nbytes);
int path_is_mount_point(const char *path);
bool is_device_path(const char *path);
extern char * __progname;
const char *ioprio_class_to_string(int i);