On Wed, 03.09.14 13:34, har...@redhat.com (har...@redhat.com) wrote: > From: Harald Hoyer <har...@redhat.com> > > 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 output the error and switch_root nevertheless. > --- > src/shared/switch-root.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/shared/switch-root.c b/src/shared/switch-root.c > index 5f075e6..fcd3420 100644 > --- a/src/shared/switch-root.c > +++ b/src/shared/switch-root.c > @@ -107,7 +107,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; > + r = 0;
As discussed on phone: this call appears to log on its own anyway, there's no point in doing this here again. We really shouldn't log about errors that happen multiple times. Hence: just eat up the exit code entirely here, ignore any failures, don't assign the return value to r, just invoke the function without caring for the return value. The call logs on its own already, and what it does should not be reason to fail this early. Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel