Age | Commit message (Collapse) | Author |
|
|
|
introduced in 1e9be60bbabe179f5233217384f1daec757c17c7
|
|
|
|
This properly detects the state of the link based on both the link flags and the
operstate.
Moreover, always log state-changes even if we are not yet managing the link.
|
|
Avoid having two code-paths racing with eacother to do the same thing. The change
of flags will be detected in the normal way, so only use the link_up_handler
to detect if the 'up' failed and in that case fail the link.
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit cdc85c875b842b9309f72caefc51c262f521cf92.
There appears to be a kernel bug that (among other things) cause bridges
not to get a bridge id set when supplying IFLA_ADDRESS when creating the
netdev.
Simply revert the whole thing until we sort this out in the kernel.
See: http://www.spinics.net/lists/netdev/msg279807.html
Reported-by: C. R. Oldham <cr@saltstack.com>
|
|
When rebooting with systemctl, an optional argument can be passed to the
reboot system call. This makes it possible the specify the argument in a
service file and use it when the service triggers a restart.
This is useful to distinguish between manual reboots and reboots caused by
failing services.
|
|
And move it to sperate function.
|
|
Cases where name_to_handle_at is used allocated the full struct to be
MAX_HANDLE_SZ, and assigned this size to handle_bytes. This is wrong
since handle_bytes should describe the length of the flexible array
member and not the whole struct.
Define a union type which includes sufficient padding to allow
assignment of MAX_HANDLE_SZ to be correct.
|
|
|
|
|
|
|
|
|
|
|
|
MAC addreses are also set when NEWLINK messages are receieved, but only if the clients have
already been initialized.
|
|
|
|
|
|
Should be no functional change, but avoids spurious log
messages when in operstate UNKNOWN and !IFF_LOWER_UP.
|
|
Drop leading zeros which will never be used when printing the link flags.
|
|
The address may be already changed by other processes, or set
when creating the netdev from userspace.
|
|
|
|
|
|
This is a second attempt at 9754d56, reverted in 2f20a8e, because
I lost a 'break;' when moving chunks around.
|
|
Otherwise we will not be able to queuery whether devices are initialized on kdbus enabled systems.
|
|
|
|
|
|
when processing multi-part message
|
|
|
|
We may receive RTM_NEWLINK messages with missing LINKINFO after the initial NEWLINK message,
don't bother verifying these, just drop out early after checking that the ifindex is not in conflict.
|
|
|
|
|
|
This essentially swaps the roles of rtnl and udev in networkd. After this
change libudev is only used for waiting for udev to initialize devices and
to get udev-specific information needed for some [Match] attributes.
This in particular simplifies the code in containers where udev is not really
useful, but also simplifies things and reduces round-trips in the non-container
case.
|
|
|
|
|
|
|
|
|
|
If nothing interesting was receieved we should not put anything on
the queue.
|
|
Also, don't actually read any of the message when peeking, just get its length.
|
|
This reverts commit 9754d56e9b21bfe89fc18f47987d6bef491b8521.
It causes a crash in PID1:
Apr 19 13:49:32 lon systemd[1]: Code should not be reached 'Unhandled socket type.'
at src/core/socket.c:684, function instance_from_socket(). Aborting.
Apr 19 13:49:32 lon systemd[1]: Caught <ABRT>, dumped core as pid 336.
Apr 19 13:49:32 lon systemd[1]: Freezing execution.
|
|
When starting up journald on a new system, set the proper permissions on
the system.journal files, not only on the journal directory.
|
|
|
|
|
|
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=1088418
|
|
create_symlink() do not check the return value of unlink(), this may
confuse the user.
Before the unlink() call we check the 'force' argument. If it is not set
we fail with -EEXIST, otherwise we unlink() the file, therefore the next
symlink() should not fail with -EEXIST (do not count races...).
However since callers may not have appropriate privileges to unlink()
the file we lose the -EPERM or any other errno code of unlink(), and
return the -EEXIST of the next symlink(). Fix this by checking unlink()
results.
Before:
$ systemctl --force --root=~/container-03 set-default multi-user.target
Failed to set default target: File exists
After:
$ systemctl --force --root=~/container-03 set-default multi-user.target
Failed to set default target: Permission denied
|