loopback-setup: simplify code a bit

This commit is contained in:
Lennart Poettering 2015-02-03 13:53:01 +01:00
parent 9ca903cceb
commit 8f084002ea
1 changed files with 10 additions and 5 deletions

View File

@ -83,12 +83,17 @@ int loopback_setup(void) {
return r;
r = start_loopback(rtnl);
if (r == -EPERM) {
if (!check_loopback(rtnl))
return log_warning_errno(EPERM, "Failed to configure loopback device: %m");
} else if (r < 0)
return log_warning_errno(r, "Failed to configure loopback device: %m");
if (r < 0) {
/* If we lack the permissions to configure the
* loopback device, but we find it to be already
* configured, let's exit cleanly, in order to
* supported unprivileged containers. */
if (r == -EPERM && check_loopback(rtnl))
return 0;
return log_warning_errno(r, "Failed to configure loopback device: %m");
}
return 0;
}