diff options
author | Tobias Hunger <tobias.hunger@gmail.com> | 2015-03-24 00:52:59 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2015-03-24 00:12:03 -0400 |
commit | b0438462089d1e1460429a57718305de08985908 (patch) | |
tree | 302daa5456cb4898d7370e6740bbd5c53d1a5776 /src/shared | |
parent | ea342a99fd4bbdb25e690186b25a8f1c88ed61b3 (diff) |
fstab-generator: Support root on tmpfs (or other deviceless FS)
This allows for stateless systems.
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/util.c | 29 | ||||
-rw-r--r-- | src/shared/util.h | 1 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/shared/util.c b/src/shared/util.c index ad548da82a..2d50f73dc4 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -1713,6 +1713,35 @@ bool fstype_is_network(const char *fstype) { return nulstr_contains(table, fstype); } +bool fstype_is_deviceless(const char *fstype) { + static const char table[] = + "autofs\0" + "bdev\0" + "cgroup\0" + "configfs\0" + "cpuset\0" + "debugfs\0" + "devpts\0" + "devtmpfs\0" + "efivarfs\0" + "hugetlbfs\0" + "mqueue\0" + "overlayfs\0" + "pipefs\0" + "proc\0" + "pstore\0" + "ramfs\0" + "rootfs\0" + "rpc_pipefs\0" + "securityfs\0" + "sockfs\0" + "sysfs\0" + "tmpfs\0"; + + return !isempty(fstype) && ( + nulstr_contains(table, fstype) || fstype_is_network(fstype)); +} + int chvt(int vt) { _cleanup_close_ int fd; diff --git a/src/shared/util.h b/src/shared/util.h index 29e85bb7e1..b5f44b8a1f 100644 --- a/src/shared/util.h +++ b/src/shared/util.h @@ -409,6 +409,7 @@ int fd_cloexec(int fd, bool cloexec); int close_all_fds(const int except[], unsigned n_except); bool fstype_is_network(const char *fstype); +bool fstype_is_deviceless(const char *fstype); int chvt(int vt); |