mirror of
https://github.com/systemd/systemd
synced 2024-10-04 15:21:01 +00:00
fstab-generator: unify initrd-root-device.target dependency handling code
This fixes a bug from #26038 where it would actually write generator stuff during sysroot check when it was only supposed to check for daemon reload.
This commit is contained in:
parent
14be337d04
commit
9cf2203524
|
@ -607,6 +607,12 @@ static int add_mount(
|
|||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (in_initrd() && path_equal(where, "/sysroot") && is_device_path(what)) {
|
||||
r = generator_write_initrd_root_device_deps(dest, what);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
r = write_mount_timeout(f, where, opts);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
@ -897,12 +903,6 @@ static int parse_fstab_one(
|
|||
mount_is_network(fstype, options) ? SPECIAL_REMOTE_FS_TARGET :
|
||||
SPECIAL_LOCAL_FS_TARGET;
|
||||
|
||||
if (is_sysroot && is_device_path(what)) {
|
||||
r = generator_write_initrd_root_device_deps(arg_dest, what);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
r = add_mount(source,
|
||||
arg_dest,
|
||||
what,
|
||||
|
@ -1090,12 +1090,6 @@ static int add_sysroot_mount(void) {
|
|||
|
||||
log_debug("Found entry what=%s where=/sysroot type=%s opts=%s", what, strna(arg_root_fstype), strempty(opts));
|
||||
|
||||
if (is_device_path(what)) {
|
||||
r = generator_write_initrd_root_device_deps(arg_dest, what);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
makefs = fstab_test_option(opts, "x-systemd.makefs\0");
|
||||
flags = makefs * MOUNT_MAKEFS;
|
||||
|
||||
|
|
Loading…
Reference in a new issue