[systemd-devel] [systemd-commits] src/shared
Lennart Poettering
lennart at poettering.net
Thu Nov 6 06:30:39 PST 2014
On Thu, 06.11.14 06:28, Harald Hoyer (harald at kemper.freedesktop.org) wrote:
>
> Not all switch roots are like base_filesystem_create() wants them
> to look like. They might even boot, if they are RO and don't have the FS
> layout. Just ignore the error and switch_root nevertheless.
I think a comment like this would be really good in the code itself, I
think. It's a good idea to explicitly clarify when we cast errors away
I figure.
>
> base_filesystem_create() should have logged, what went wrong.
>
> diff --git a/src/shared/switch-root.c b/src/shared/switch-root.c
> index bac0e5c..1a558b8 100644
> --- a/src/shared/switch-root.c
> +++ b/src/shared/switch-root.c
> @@ -47,7 +47,6 @@ int switch_root(const char *new_root, const char *oldroot, bool detach_oldroot,
> struct stat new_root_stat;
> bool old_root_remove;
> const char *i, *temporary_old_root;
> - int r;
>
> if (path_equal(new_root, "/"))
> return 0;
> @@ -103,11 +102,7 @@ int switch_root(const char *new_root, const char *oldroot, bool detach_oldroot,
> }
> }
>
> - r = base_filesystem_create(new_root);
> - if (r < 0) {
> - log_error("Failed to create the base filesystem: %s", strerror(-r));
> - return r;
> - }
> + (void) base_filesystem_create(new_root);
>
> if (chdir(new_root) < 0) {
> log_error("Failed to change directory to %s: %m", new_root);
>
> _______________________________________________
> systemd-commits mailing list
> systemd-commits at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-commits
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list