chiark / gitweb /
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:10:19 +0000 (21:10 -0500)]
Check that EWOULDBLOCK is the same as EAGAIN
It certainly is everywhere on Linux, but as a courtesy
to people doing some strange cross-compilation, check
that the assumption holds.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:10:17 +0000 (21:10 -0500)]
journal-remote: make process_data static
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:10:15 +0000 (21:10 -0500)]
nspawn: tell coverity that we ignore return value
CID #
1271353.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:10:13 +0000 (21:10 -0500)]
gpt-auto-generator: allow type check to fail
add_mount() is OK with unknow file type, but we have to initalize
the variable to NULL not to pass garbage on error.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:10:12 +0000 (21:10 -0500)]
efi: widen operand to avoid overflow
CID #
1287141.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:10:06 +0000 (21:10 -0500)]
core: issue error on oom we can do nothing about
CID #
1287142.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:07:45 +0000 (21:07 -0500)]
µhttp-util: setup gnutls logs in one function
Tom Gundersen [Fri, 13 Mar 2015 17:43:00 +0000 (18:43 +0100)]
udev: make set_usec_initialized() internal to libudev
Instead introduce ensure_usec_initialized(), which copies the timestamp if possible otherwise
sets it to now(CLOCK_MONOTONIC).
Tom Gundersen [Fri, 13 Mar 2015 15:15:03 +0000 (16:15 +0100)]
sd-rtnl: read_message - don't set group if not needed
Tom Gundersen [Fri, 13 Mar 2015 15:13:24 +0000 (16:13 +0100)]
sd-rtnl: process - only apply matches to broadcast messages
Tom Gundersen [Fri, 13 Mar 2015 15:12:57 +0000 (16:12 +0100)]
sd-rtnl: improve detection of broadcast messages
Do not rely on nl_pid == 0, but check the groups instead. We currently avoid using
nl_pid == 0 for unicast anyway, so this should be redundant, but let's try to be
correct.
Tom Gundersen [Fri, 13 Mar 2015 14:49:07 +0000 (15:49 +0100)]
sd-rtnl: never set serial to 0
In the unlikely event that we wrap the counter, skip 0 as this is used
for broadcasts.
Suggested by Richard Maw.
David Herrmann [Fri, 13 Mar 2015 13:08:00 +0000 (14:08 +0100)]
tree-wide: there is no ENOTSUP on linux
Replace ENOTSUP by EOPNOTSUPP as this is what linux actually uses.
David Herrmann [Fri, 13 Mar 2015 12:55:54 +0000 (13:55 +0100)]
bus: stop using EDEADLOCK
The error code is called EDEADLK, stop using legacy names like EDEADLOCK.
Note that _some_ weird architectures define them differently (namely, mips
and sparc), but on all sane architectures they're exactly the same. So
stay with the widely used code, which is EDEADLK.
David Herrmann [Fri, 13 Mar 2015 12:51:55 +0000 (13:51 +0100)]
journal-remote: stop using EWOULDBLOCK
There is no reason to ever use EWOULDBLOCK. It's equivalent to EAGAIN on
all architectures on linux.
David Herrmann [Fri, 13 Mar 2015 12:41:55 +0000 (13:41 +0100)]
udev: dont use EWOULDBLOCK
EWOULDBLOCK is the same as EAGAIN, stop using it.
Mathieu Chevrier [Fri, 13 Mar 2015 04:33:44 +0000 (00:33 -0400)]
gpt-auto-generator: fix detection of /srv
https://bugs.freedesktop.org/show_bug.cgi?id=89226
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2015 04:25:31 +0000 (00:25 -0400)]
man: update example 2 in systemd.network(5)
none/both/v4/v6 are deprecated in favour of no/yes/ipv4/ipv6.
https://bugs.freedesktop.org/show_bug.cgi?id=89221
Alex Puchades [Fri, 13 Mar 2015 04:17:04 +0000 (00:17 -0400)]
po: add Spanish translation
https://bugs.freedesktop.org/show_bug.cgi?id=89559
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2015 04:03:41 +0000 (00:03 -0400)]
sd-event: fix typo
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2015 04:02:28 +0000 (00:02 -0400)]
journal-remote: process events without delay
journal-remote buffers input, and then parses it handling one journal entry at a time.
It was possible for useful data to be left in the buffer after some entries were
processesed. But all data would be already read from the fd, so there would be
no reason for the event loop to call the handler again. After some new data came in,
the handler would be called again, and would then process the "old" data in the buffer.
Fix this by enabling a handler wherever we process input data and do not exhaust data
from the input buffer (i.e. when EAGAIN was not encountered). The handler runs until
we encounter EAGAIN.
Looping over the input data is done in this roundabout way to allow the event loop
to dispatch other events in the meanwhile. If the loop was inside the handler, a
source which produced data fast enough could completely monopolize the process.
https://bugs.freedesktop.org/show_bug.cgi?id=89516
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2015 01:54:14 +0000 (21:54 -0400)]
journal-remote: check also for EWOULDBLOCK
This matches similar code elsewhere.
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2015 01:29:28 +0000 (21:29 -0400)]
journal-remote: downgrade routine messages to debug
https://bugs.freedesktop.org/show_bug.cgi?id=89486
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2015 00:50:08 +0000 (20:50 -0400)]
sd-pppoe: workaround for incomplete include in old kernels
Richard Maw [Thu, 12 Mar 2015 18:14:58 +0000 (18:14 +0000)]
networkd: Begin with serial number 1 for netlink requests
"Notifications are of informal nature and no reply is expected, therefore the
sequence number is typically set to 0."[1]
If networkd is started soon after recent netlink activity, then there
will be messages with sequence number 0 in the buffer.
The first thing networkd does is to request a dump of all the links. If
it uses sequence number 0 for this, then it may confuse the dump request's
response with that of a notification.
This will result in it failing to properly enumerate all the links,
but more importantly, when it comes to enumerate all the addresses, it
will still have the link dump in progress, so the address enumeration
will fail with -EBUSY.
[1]: http://www.infradead.org/~tgr/libnl/doc/core.html#core_msg_types
[tomegun: sequence -> serial]
Kay Sievers [Thu, 12 Mar 2015 17:34:23 +0000 (18:34 +0100)]
hwdb: update
Kay Sievers [Thu, 12 Mar 2015 16:44:58 +0000 (17:44 +0100)]
build-sys: fix name of new rules file
Kay Sievers [Thu, 12 Mar 2015 16:15:15 +0000 (17:15 +0100)]
rules: merge tty and serial rules file
Kay Sievers [Thu, 12 Mar 2015 15:34:18 +0000 (16:34 +0100)]
rules: merge udev-late.rules files
Kay Sievers [Thu, 12 Mar 2015 15:30:05 +0000 (16:30 +0100)]
rules: default - remove legacy agpgart
Kay Sievers [Thu, 12 Mar 2015 15:28:38 +0000 (16:28 +0100)]
rules: systemd - remove legacy "ram" from block device blacklist
Kay Sievers [Thu, 12 Mar 2015 15:09:46 +0000 (16:09 +0100)]
rules: move block device rules to its own rules file
Kay Sievers [Thu, 12 Mar 2015 14:03:30 +0000 (15:03 +0100)]
rules: storage - relace blacklist with explicit whitelist
Newly added kernel drivers repeatedly pass our blacklist and
cause trouble for the devices, because they do not expect to
be examined by udev's default rules which include blkid.
This turns the blacklist into a whitelist. Device type which
need support for additional symlinks need to be added to the
whitelist now.
Note, that the by-id, by-path symlinks are only intended for
hotpluggable devices. There is no reason for exotic, or for
statically configured devices to provide them.
Tom Gundersen [Thu, 12 Mar 2015 12:03:44 +0000 (13:03 +0100)]
TODO
David Herrmann [Thu, 12 Mar 2015 11:46:46 +0000 (12:46 +0100)]
man: split paragraph
Explicitly put the "multiple EnvironmentFile=" description into its own
paragraph to make it much easier to find.
Tom Gundersen [Thu, 12 Mar 2015 11:23:59 +0000 (12:23 +0100)]
core: add missing words to my fix of explanation of associativity
Tom Gundersen [Wed, 11 Mar 2015 14:41:32 +0000 (15:41 +0100)]
udevd: improve handling of failed worker
The information in the db is stale, so it does not make sense to
expose it any longer. Also, don't drop the kernel event, but simply
pass it on to userspace without ammending it.
Tom Gundersen [Wed, 11 Mar 2015 21:27:46 +0000 (22:27 +0100)]
udevd: don't free event when killing the worker, wait until it has been reaped
This will allow us to clean up the device when we are notified about the worker being killed.
Tom Gundersen [Fri, 6 Mar 2015 14:22:30 +0000 (15:22 +0100)]
libudev: introduce clone_with_db()
This allows us to move the db reading from udevd to libudev.
Tom Gundersen [Wed, 11 Mar 2015 21:23:38 +0000 (22:23 +0100)]
libudev: monitor - fix error path in send_device
Return -errno rather than -1 in case sendmsg() fails.
Tom Gundersen [Fri, 6 Mar 2015 17:22:35 +0000 (18:22 +0100)]
udevd: event - make db loading lazy in REMOVE event handling
We were explicitly eagerly loading the db, then deletenig the backing file and then processing the
rules/symlinks. Instead we delete the backnig db file as the last step and let the db loading be
lazy as everywhere else.
This may save us a bit of work in casese where the db is not needed, but more importantly it hides
some implementation details of libudev-device form udevd.
Tom Gundersen [Fri, 6 Mar 2015 17:30:09 +0000 (18:30 +0100)]
libudev: introduce udev_device_properties_copy()
To copy properties from one device to another. Drop the equivalent functionality from udevd.
Kay Sievers [Wed, 11 Mar 2015 22:26:48 +0000 (23:26 +0100)]
boot: efi - add config option to disable the command line editor
Umut Tezduyar Lindskog [Wed, 11 Mar 2015 10:24:18 +0000 (11:24 +0100)]
cgtop: fix assert when not on tty
systemd-cgtop --dept=1 -b -n 10 -d 0.1 | cat
Assertion 'new_length >= 3' failed at src/shared/util.c:3 \
595, function ellipsize_mem(). Aborting.
Aborted (core dumped)
(David: add comment)
David Herrmann [Wed, 11 Mar 2015 15:35:21 +0000 (16:35 +0100)]
core: fix cgroups-agent match for kdbus
On kdbus, we get cgroups-agent messages via the system bus, not the
private systemd socket. Therefore, we must install the match properly or
we will never receive cgroup notifications.
David Herrmann [Wed, 11 Mar 2015 15:32:47 +0000 (16:32 +0100)]
core: rewind message before forwarding it
Forwarding messages that are not rewinded will drop data. Fix this for
cgroups-agent messages that we might remarshal before forwarding to the
system bus.
David Herrmann [Wed, 11 Mar 2015 15:30:59 +0000 (16:30 +0100)]
bus: remarshal kdbus messages received from the kernel
If we receive an sd_bus_message from the kernel, m->kdbus will contain
additional items that cannot be used when sending a message. Therefore,
always remarshal the message if it is used again.
David Herrmann [Wed, 11 Mar 2015 15:29:18 +0000 (16:29 +0100)]
bus: drop redundant assignment
This assignment is already done in the parent context, no need to do it
again.
Zbigniew Jędrzejewski-Szmek [Wed, 11 Mar 2015 14:04:49 +0000 (10:04 -0400)]
man: fix links to compressors
Zbigniew Jędrzejewski-Szmek [Tue, 10 Mar 2015 16:30:12 +0000 (12:30 -0400)]
socket-util: refactor error handling in sockaddr_pretty
Tom Gundersen [Wed, 11 Mar 2015 13:53:16 +0000 (14:53 +0100)]
core: fix explanation of associativity
David Herrmann [Wed, 11 Mar 2015 12:53:21 +0000 (13:53 +0100)]
bus-proxy: complain only once about queue overflows
If the local peer does not dispatch its incoming queue, the bus-proxy will
slowly fill its outgoing queue. Once its full, it will continously
complain that it cannot forward its messages.
As it turns out, pulseaudio does have an idle background dbus connection
that is not integrated into any mainloop (and given that gdbus and
libdbus1 both support background shared connections, PA is probably not
the only example), therefore, the bus-proxy will loudly complain if it
cannot forward NameOwnerChanged events once the queue is full.
This commit makes the proxy track queue-state and complain only once the
queue runs full, not if it is already full.
A PA bug-report (and patch) has been filed, and other applications should
be fixed similarly. Hence, lets keep the error message, instead of
dropping it. It's unused resources we really want to get rid of, so
silencing the message does not really help (which is actually what
dbus-daemon does).
David Herrmann [Tue, 16 Dec 2014 16:30:46 +0000 (17:30 +0100)]
terminal/sysview: introduce SETTLE events
This introduces a new SYSVIEW_EVENT_SETTLE notification that is sent after
initial scanning via sysview is done. This is very handy to let the
application raise warnings in case requested resources are not found
during startup.
The SETTLE event is sent after systemd-logind and udev enumerations are
done. This event does in no way guarantee that a given resource is
available. All it does is notify the application that scanning is done!
You must not react to SETTLE if you don't have external synchronization
with the resource you're waiting for.
The main use-case for SETTLE is to run applications _inside_ of logind
sessions and startup sysview. You really want to make sure that the own
session you're running in was found during enumeration. If not, something
is seriously wrong.
David Herrmann [Tue, 16 Dec 2014 15:14:48 +0000 (16:14 +0100)]
console: fix error-code inversion
The error-code propagated via sysview is always negative. Avoid
multiplying by -1 before returning it. Otherwise, we will return >0
instead of <0, which will not be detected as error by sysview-core.
Kay Sievers [Wed, 11 Mar 2015 10:15:53 +0000 (11:15 +0100)]
udev: add SYSCTL{} support
Kay Sievers [Wed, 11 Mar 2015 09:37:45 +0000 (10:37 +0100)]
sysctl: move property handling to shared/
Lennart Poettering [Tue, 10 Mar 2015 17:58:10 +0000 (18:58 +0100)]
machine-id-setup: simplifications
Lennart Poettering [Tue, 10 Mar 2015 17:56:56 +0000 (18:56 +0100)]
machine-id-commit: simplifications
Alban Crequy [Tue, 10 Mar 2015 17:15:52 +0000 (18:15 +0100)]
util: add rename_noreplace
renameat2() exists since Linux 3.15 but btrfs support for the flag
RENAME_NOREPLACE was added later.
This patch implements a fallback when renameat2() returns EINVAL.
EINVAL is the error returned when the filesystem does not support one of
the flags.
Harald Hoyer [Fri, 20 Feb 2015 12:25:42 +0000 (13:25 +0100)]
path-util: fix path_is_mount_point() for symlinks
path_is_mount_point() compares the mount_id of a directory and the
mount_id of the parent directory. When following symlinks, the function
to get the parent directory does not take the symlink into account.
/bin -> /usr/bin with /usr being a mountpoint:
mount_id of /bin with AT_SYMLINK_FOLLOW != mount_id of /
Lennart Poettering [Tue, 10 Mar 2015 16:39:42 +0000 (17:39 +0100)]
CODING_STYLE: mention casting of function invocations to (void)
Lukasz Skalski [Tue, 10 Mar 2015 15:09:02 +0000 (16:09 +0100)]
bus-proxy: add support for "GetConnectionCredentials" method
GetConnectionCredentials method was added to dbus-1 specification
more than one year ago. This method should return "[...] as many
credentials as possible for the process connected to the server",
but at this moment only "UnixUserID", "LinuxSecurityLabel" and
"ProcessID" are defined by the specification. We should add support
for next credentials after extending dbus-1 spec.
daurnimator [Mon, 9 Mar 2015 19:11:44 +0000 (15:11 -0400)]
tmpfiles: port to unquote_many_words()
Lennart Poettering [Tue, 10 Mar 2015 14:55:58 +0000 (15:55 +0100)]
shared: the btrfs quota field is called "referenced" not "referred"
Lennart Poettering [Tue, 10 Mar 2015 14:48:04 +0000 (15:48 +0100)]
update TODO
Lennart Poettering [Tue, 10 Mar 2015 14:47:45 +0000 (15:47 +0100)]
man: document "machinectl export-tar" and "export-raw"
Shawn Landden [Tue, 10 Mar 2015 11:41:59 +0000 (04:41 -0700)]
add REMOTE_ADDR and REMOTE_PORT for Accept=yes
Didier Roche [Tue, 10 Mar 2015 09:18:00 +0000 (10:18 +0100)]
fsckd: clean up log messages
Avoid double logs printing. Not that we don't return
manager_update_global_progress() to the handler callback as if the console or
plymouth isn't available momentarily, we still desire to handle future
fd progress events if those are available again (like cancellation, reports…)
Didier Roche [Tue, 10 Mar 2015 08:57:38 +0000 (09:57 +0100)]
fsckd: Reduce the SAK window when writing to console
We don't want to keep /dev/console open all the time, but only open it when
needed, to avoid interfering with SAK.
Thomas Hindoe Paaboel Andersen [Tue, 10 Mar 2015 04:25:28 +0000 (05:25 +0100)]
Add type specifier for int
Thomas Hindoe Paaboel Andersen [Tue, 10 Mar 2015 04:18:26 +0000 (05:18 +0100)]
logs-show: fix check of loop_read_exact
just a typo fix
Zbigniew Jędrzejewski-Szmek [Tue, 10 Mar 2015 01:23:53 +0000 (21:23 -0400)]
Introduce loop_read_exact helper
Usually when using loop_read(), we want to read the full buffer.
Add a helper that mirrors loop_write(), and returns 0 when full buffer
was read, and an error otherwise.
Use -ENODATA for the short read, to distinguish it from a read error.
Zbigniew Jędrzejewski-Szmek [Tue, 10 Mar 2015 00:41:00 +0000 (20:41 -0400)]
efivars: itialize variable
Introduced a few commits ago.
Zbigniew Jędrzejewski-Szmek [Tue, 10 Mar 2015 00:11:25 +0000 (20:11 -0400)]
bootchart: use _cleanup_
Zbigniew Jędrzejewski-Szmek [Tue, 10 Mar 2015 00:02:59 +0000 (20:02 -0400)]
Add missing includes
audit.h uses uint32_t and bool.
log.h uses abs.
Zbigniew Jędrzejewski-Szmek [Mon, 9 Mar 2015 22:58:47 +0000 (18:58 -0400)]
journalctl: unlink without checking with access first
It is more elegant to do this in one step.
Coverity complains about the TOCTOU difference, but it is not an
actual problem (CID #
1237777).
Zbigniew Jędrzejewski-Szmek [Mon, 9 Mar 2015 21:46:30 +0000 (17:46 -0400)]
journal: fix return code
Introduced in
fa6ac76083b8ff.
Might be related to CID #
1261724, but I don't know if coverity can
recurse this deep.
Zbigniew Jędrzejewski-Szmek [Mon, 9 Mar 2015 21:22:50 +0000 (17:22 -0400)]
journal-file: update format string to remove cast
Zbigniew Jędrzejewski-Szmek [Mon, 9 Mar 2015 21:10:33 +0000 (17:10 -0400)]
journal: align comments to make them more legible
Tom Gundersen [Thu, 5 Mar 2015 17:08:50 +0000 (18:08 +0100)]
libudev: add missing hunks
This should have been committed with
udev_device_add_property - implicitly mark properties for saving to db
Tom Gundersen [Mon, 9 Mar 2015 22:22:43 +0000 (23:22 +0100)]
libudev: udev_device_read_db - drop unused argument
Tom Gundersen [Thu, 5 Mar 2015 17:08:50 +0000 (18:08 +0100)]
libudev: udev_device_add_property - implicitly mark properties for saving to db
Properties should only be saved to the db when added to the udev_device by udevd, and only if
the property does not start with a '.'. Make this implicit rather than expose the marking of
properties.
Tom Gundersen [Thu, 5 Mar 2015 16:44:12 +0000 (17:44 +0100)]
udev/libudev: event - move {OLD_,}INTERFACE handling from udevd to libudev
This should be internal to the library as it is only about reflecting the sysfs state in the udev_device.
Tom Gundersen [Thu, 5 Mar 2015 16:26:58 +0000 (17:26 +0100)]
libudev: private - make property_from_string_parse* static
Lennart Poettering [Mon, 9 Mar 2015 20:34:32 +0000 (21:34 +0100)]
man: document machinectl import-tar and import-raw
Lennart Poettering [Mon, 9 Mar 2015 19:06:18 +0000 (20:06 +0100)]
update TODO
Tom Gundersen [Mon, 9 Mar 2015 21:19:52 +0000 (22:19 +0100)]
udev: simplify event_queue_update() and add debug logging
This essentially replaces
open("/run/udev/queue", O_WRONLY|O_CREAT|O_CLOEXEC|O_TRUNC|O_NOFOLLOW, 0444)
with
open("/run/udev/queue", O_WRONLY|O_CREAT|O_CLOEXEC|O_NOCTTY, 0644),
which is ok for our purposes.
Zbigniew Jędrzejewski-Szmek [Mon, 9 Mar 2015 20:09:16 +0000 (16:09 -0400)]
efivars: use greedy_realloc
Zbigniew Jędrzejewski-Szmek [Mon, 9 Mar 2015 20:04:42 +0000 (16:04 -0400)]
efivars: use more _cleanup_
Also rename r to buf, since r is customarily reserved for the return value.
Zbigniew Jędrzejewski-Szmek [Mon, 9 Mar 2015 19:57:56 +0000 (15:57 -0400)]
efivars: do binary and before converting to bool
I'm pretty sure that this is what was meant here.
Zbigniew Jędrzejewski-Szmek [Mon, 9 Mar 2015 19:55:24 +0000 (15:55 -0400)]
efivars: rename last remaining err to r
Zbigniew Jędrzejewski-Szmek [Mon, 9 Mar 2015 19:54:39 +0000 (15:54 -0400)]
efivars: modernization
Fix return value if unlink fails.
Zbigniew Jędrzejewski-Szmek [Mon, 9 Mar 2015 19:12:17 +0000 (15:12 -0400)]
boot/efi: do not assign variable twice
If the highlighted line did not move outside of the visible
region, it should not be necessary to update idx_last.
CID #
1287137, #
1287138.
Thomas Hindoe Paaboel Andersen [Mon, 9 Mar 2015 20:08:22 +0000 (21:08 +0100)]
machinectl: remove unused variables
Lennart Poettering [Mon, 9 Mar 2015 18:57:39 +0000 (19:57 +0100)]
fsck: modernize error handling
Lennart Poettering [Mon, 9 Mar 2015 18:50:37 +0000 (19:50 +0100)]
fsck: use _cleanup_close_pair_ where appropriate
Lennart Poettering [Mon, 9 Mar 2015 18:41:01 +0000 (19:41 +0100)]
fsckd: make sure we free the connection event source before we close the connection fd
Lennart Poettering [Mon, 9 Mar 2015 18:36:46 +0000 (19:36 +0100)]
fsckd: don't allow unbounded numbers of clients
Lennart Poettering [Mon, 9 Mar 2015 18:34:10 +0000 (19:34 +0100)]
fsckd: make sure unprivileged clients cannot play games with fsckd
Lennart Poettering [Mon, 9 Mar 2015 18:33:49 +0000 (19:33 +0100)]
fsckd: free client event source before we close its fd