summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fstab-generator/fstab-generator.c23
-rw-r--r--src/shared/generator.c5
-rw-r--r--src/shared/util.c29
-rw-r--r--src/shared/util.h1
4 files changed, 8 insertions, 50 deletions
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index 77c97fdb29..cd1478e54d 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -397,22 +397,15 @@ static int add_root_mount(void) {
_cleanup_free_ char *what = NULL;
const char *opts;
- if (fstype_is_deviceless(arg_root_fstype)) {
- if (free_and_strdup(&what, arg_root_what) < 0)
- return log_oom();
- } else {
- if (isempty(arg_root_what)) {
- log_debug("Could not find a root= entry on the kernel command line.");
- return 0;
- }
-
- what = fstab_node_to_udev_node(arg_root_what);
- if (!path_is_absolute(what)) {
- log_debug("Skipping entry what=%s where=/sysroot type=%s", what, strna(arg_root_fstype));
- return 0;
- }
+ if (isempty(arg_root_what)) {
+ log_debug("Could not find a root= entry on the kernel command line.");
+ return 0;
}
+ what = fstab_node_to_udev_node(arg_root_what);
+ if (!what)
+ log_oom();
+
if (!arg_root_options)
opts = arg_root_rw > 0 ? "rw" : "ro";
else if (arg_root_rw >= 0 ||
@@ -426,7 +419,7 @@ static int add_root_mount(void) {
"/sysroot",
arg_root_fstype,
opts,
- 1,
+ is_device_path(what) ? 1 : 0,
false,
false,
false,
diff --git a/src/shared/generator.c b/src/shared/generator.c
index c348ca2e04..569b25bb7c 100644
--- a/src/shared/generator.c
+++ b/src/shared/generator.c
@@ -42,11 +42,6 @@ int generator_write_fsck_deps(
assert(what);
assert(where);
- if (fstype_is_deviceless(fstype)) {
- log_debug("Not checking deviceless filesystem \"%s\".", fstype);
- return 0;
- }
-
if (!is_device_path(what)) {
log_warning("Checking was requested for \"%s\", but it is not a device.", what);
return 0;
diff --git a/src/shared/util.c b/src/shared/util.c
index 2d50f73dc4..ad548da82a 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -1713,35 +1713,6 @@ 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 b5f44b8a1f..29e85bb7e1 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
@@ -409,7 +409,6 @@ 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);