switch_root: do not fail, if base_filesystem_create() failed

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.

base_filesystem_create() should have logged, what went wrong.
This commit is contained in:
Harald Hoyer 2014-09-03 13:31:25 +02:00
parent 2b671e9560
commit 6d0f91bf55
1 changed files with 1 additions and 6 deletions

View File

@ -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);