summaryrefslogtreecommitdiff
path: root/src/fstab-generator/fstab-generator.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fstab-generator/fstab-generator.c')
-rw-r--r--src/fstab-generator/fstab-generator.c23
1 files changed, 8 insertions, 15 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,