Commit Graph

18643 Commits

Author SHA1 Message Date
Lennart Poettering 13790add4b journald: allow restarting journald without losing stream connections
Making use of the fd storage capability of the previous commit, allow
restarting journald by serilizing stream state to /run, and pushing open
fds to PID 1.
2015-01-06 03:16:39 +01:00
Lennart Poettering a354329f72 core: add new logic for services to store file descriptors in PID 1
With this change it is possible to send file descriptors to PID 1, via
sd_pid_notify_with_fds() which PID 1 will store individually for each
service, and pass via the usual fd passing logic on next invocation.
This is useful for enable daemon reload schemes where daemons serialize
their state to /run, push their fds into PID 1 and terminate, restoring
their state on next start from the data in /run and passed in from PID
1.

The fds are kept by PID 1 as long as no POLLHUP or POLLERR is seen on
them, and the service they belong to are either not dead or failed, or
have a job queued.
2015-01-06 03:16:39 +01:00
Zbigniew Jędrzejewski-Szmek 7539904965 cgroup: memory limits on / are not supported 2015-01-05 19:04:10 -05:00
Zbigniew Jędrzejewski-Szmek 6da139137e cgroup: fix error message
systemd[1]: Failed to set memory.limit_in_bytes on : Invalid argument
2015-01-05 19:04:10 -05:00
Zbigniew Jędrzejewski-Szmek 524daa8c3e journal: call connect() with dropped privileges
When systemd starts a service, it first opened /run/systemd/journal/stdout
socket, and only later switched to the right user.group (if they are
specified). Later on, journald looked at the credentials, and saw
root.root, because credentials are stored at the time the socket is
opened. As a result, all messages passed over _TRANSPORT=stdout were
logged with _UID=0, _GID=0.

Drop real uid and gid temporarily to fix the issue.
2015-01-05 14:12:58 -05:00
Lennart Poettering 9c3349e23b core: rework counting of running jobs
Let's unify the code that counts the running jobs a bit, in order to
make sure we are less likely to miss one.

This is related to this bug:

https://bugs.freedesktop.org/show_bug.cgi?id=87349

However, it probably won't fix it fully, and I cannot reproduce the issue.

The change also adds an explicit assert change when the counter is off.
2015-01-05 17:54:59 +01:00
Josef Andersson bbe05969ec po: add Swedish translation
https://bugs.freedesktop.org/show_bug.cgi?id=88052
2015-01-05 11:39:31 -05:00
Ivan Shapovalov 60d27f1916 path-lookup, systemctl: export lookup_paths_init_from_scope() from shared/install.c and use it 2015-01-05 11:13:30 -05:00
Filipe Brandenburger 69c4e2771e machine: add reference to machine-dbus.h to Makefile.am
Commit 003dffde2c ("machined: Move image discovery logic into src/shared,
so that we can make use of it from nspawn") moved some definitions from
machine.h to a new machine-dbus.h, but did not include it in Makefile.am

Tested that `make distcheck` works after this fix.
2015-01-05 11:13:30 -05:00
Lennart Poettering 65d6d8e32b tmpfiles: fix 'D' lines
https://bugs.freedesktop.org/show_bug.cgi?id=87953
2015-01-05 16:32:59 +01:00
Lennart Poettering 3fdcecc87e nss-myhostname: always will in canonical hostname field when resolving addresses to hostnames
https://bugs.freedesktop.org/show_bug.cgi?id=87634
2015-01-05 16:24:41 +01:00
Lukasz Skalski 30897dd72b bus-proxyd: don't allow to acquire org.freedesktop.DBus name 2015-01-05 16:02:59 +01:00
Michael Biebl 8b173b5e8c core: fix typo in log message 2015-01-05 14:13:45 +01:00
Lennart Poettering 8246dff1f8 machinectl: remove spurious newline 2015-01-05 13:47:03 +01:00
Daniele Medri 08060f8c88 po: update Italian translation 2015-01-05 13:47:03 +01:00
Daniel Mack d7d052b23f sd-bus: sync kdbus.h
Catch up with latest changes in kdbus.ko:

 * Signals can be sent as unicast now, hence they need to be marked as
   such with the KDBUS_MSG_SIGNAL in the message flags.

 * Follow ioctl number change for KDBUS_CMD_FREE
2015-01-05 13:44:40 +01:00
Topi Miettinen abe4aa144b util: Do not clear parent mount flags when setting up namespaces
When setting up a namespace, mount flags like noexec, nosuid and
nodev are cleared, so the mounts always have exec, suid and dev
flags enabled.

Copy source directory mount flags to target mount when remounting
the bind mounts.
2015-01-05 13:24:57 +01:00
Lennart Poettering 5ac0162c3a udevadm,..: make --help output of udev tools more like the output of the various other tools 2015-01-05 13:19:55 +01:00
Lennart Poettering 00b4ffdecb fstab-generator: use more appropriate checks for swap and device availability
We always should use the same checks when deciding whether swap support
and mounting of devices is supported. Hence, let's make
fstab-generator's logic more similar to the usual logic we follow:

a) Look for /proc/swaps and no container support before activating
swaps.

b) Look for /sys being writable befire supporting device mounts.
2015-01-05 12:35:08 +01:00
Torstein Husebø 6b3fd9a14d libsystemd-network: fix typo in lldp 2015-01-05 12:34:11 +01:00
Colin Walters 9bc5cd6d74 util: Fix signedness error in lines(), match implementations
Regression introduced by ed757c0cb0

Mirror the implementation of columns(), since the fd_columns()
functions returns a negative integer for errors.

Also fix columns() to return the unsigned variable instead of the
signed intermediary (they're the same, but better to be explicit).
2015-01-05 03:05:15 +01:00
Lennart Poettering 6fc25464bf update TODO 2015-01-05 02:58:04 +01:00
Lennart Poettering 8266e1c04d journald: reuse IOVEC_TOTAL_SIZE() macros where possible 2015-01-05 02:57:36 +01:00
Lennart Poettering 2678031a17 journald: when we detect the journal file we are about to write to has been deleted, rotate
https://bugzilla.redhat.com/show_bug.cgi?id=1171719
2015-01-05 02:57:36 +01:00
Lennart Poettering aba843317d systemctl: properly iterate through service array when dispatching to sysv
https://bugzilla.redhat.com/show_bug.cgi?id=1175734
2015-01-05 01:56:47 +01:00
Lennart Poettering 805d14864f journald: add some additional checks before we divide by values read from journal file headers
Since the file headers might be replaced by zeroed pages now due to
sigbus we should make sure we don't end up dividing by zero because we
don't check values read from journal file headers for changes.
2015-01-05 01:40:51 +01:00
Lennart Poettering 3774cf5708 journalctl: static variables immediately configured via command line arguments should be prefixed with "arg_" 2015-01-05 01:40:51 +01:00
Lennart Poettering 2cf4172a71 journal: install sigbus handler for journal tools too
This makes them robust regarding truncation. Ideally, we'd export this
as an API, but given how messy SIGBUS handling is, and the uncertain
ownership logic of signal handlers we should not do this (unless libc
one day invents a scheme how to sanely install SIGBUS handlers for
specific memory areas only). However, for now we can still make all our
own tools robust.

Note that external tools will only have read-access to the journal
anyway, where SIGBUS is much more unlikely, given that only writes are
subject to disk full problems.
2015-01-05 01:40:51 +01:00
Lennart Poettering b798e7baa5 systemctl: fix waiting for jobs when using direct connections to PID 1 for dbus 2015-01-05 01:40:51 +01:00
Lennart Poettering ea69bd41c5 journald: constify all things 2015-01-05 01:40:51 +01:00
Lennart Poettering 146d477367 machined,bus-proxy: fix connecting to containers 2015-01-05 01:40:51 +01:00
Lennart Poettering 8531ae707d journald: prefix exported calls with "server_", unexport unnecessary calls 2015-01-05 01:40:51 +01:00
Lennart Poettering fa6ac76083 journald: process SIGBUS for the memory maps we set up
Even though we use fallocate() it appears that file systems like btrfs
will trigger SIGBUS on certain low-disk-space situation. We should
handle that, hence catch the signal, add it to a list of invalidated
pages, and replace the page with an empty memory area. After each write
check if SIGBUS was triggered, and consider the write invalid if it was.

This should make journald a lot more robust with file systems where
fallocate() is not reliable, for example all CoW file systems
(btrfs...), where changing written data can fail with disk full errors.

https://bugzilla.redhat.com/show_bug.cgi?id=1045810
2015-01-05 01:40:51 +01:00
Lennart Poettering f93bf43633 update TODO 2015-01-05 01:40:51 +01:00
Lennart Poettering b12afc8c5c nspawn: mount most of the cgroup tree read-only in nspawn containers except for the container's own subtree in the name=systemd hierarchy
More specifically mount all other hierarchies in their entirety and the
name=systemd above the container's subtree read-only.
2015-01-05 01:40:51 +01:00
Lennart Poettering 714e2e1d56 cgroup: downgrade log messages when we cannot write to cgroup trees that are mounted read-only 2015-01-05 01:40:51 +01:00
Peter Hutterer abd440cd24 hwdb: fix a typo 2015-01-05 07:42:18 +10:00
Peter Hutterer 618021e099 hwdb: revert Logitech Optical USB Mouse
Reporter says he incorrectly measured the data but the device is not available
anymore to correct it. We'll have to wait for someone else to submit the data.

https://bugs.freedesktop.org/show_bug.cgi?id=87343
2015-01-05 07:42:12 +10:00
Thomas Hindoe Paaboel Andersen 9a14fb6285 machinectl: Check type instead of path before printing the type
Looks like a typo when introduced in fefdc04b38
2015-01-02 21:38:22 +01:00
Sergey Ptashnick a29fca906c po: update Russian translation
By analogy with commit 4038d7502f.
2015-01-01 14:39:21 -05:00
Sylvain Plantefève 51ed3324df po: update French translation 2015-01-01 14:39:21 -05:00
Zbigniew Jędrzejewski-Szmek e86b3761c4 mount: do not use -n when running in --user mode
-n is only allowed for root. /etc/mtab is nowadays almost always a link to /proc/,
so in practice this does not really matter too much, but should allow .mount units
to work in --user mode.

https://bugs.freedesktop.org/show_bug.cgi?id=87602
2015-01-01 14:39:21 -05:00
Topi Miettinen e65476622d Type of mount(2) flags is unsigned long 2015-01-01 14:39:17 -05:00
Robert Milasan 257e968d8c udev: improve help/usage for some more programs 2015-01-01 14:38:21 -05:00
Zbigniew Jędrzejewski-Szmek ba52f15a58 networkctl: avoid potential use of unitialized variables
Those values are based on a file we read from disk, so we should
verify everything we receive, and make sure everything we print
is sensible.

Also, print fractional seconds for TTL.
2015-01-01 13:36:44 -05:00
Zbigniew Jędrzejewski-Szmek 1bf7dd6e7d networkctl: remove unused variable 2015-01-01 13:36:43 -05:00
Zbigniew Jędrzejewski-Szmek ef75325319 network: fix scanf/printf format
usec_t is defined as 64 bit wide, but long is 32 bit on many archs.
2015-01-01 13:36:43 -05:00
Zbigniew Jędrzejewski-Szmek e65ef51dee missing: add __NR_renameat2 2015-01-01 13:36:43 -05:00
Martin Pitt aec432c613 build-sys: Fix install location of systemd.pc
systemd.pc contains "libdir" which can be architecture specific. Thus it needs
to be installed into libdir/pkgconfig/ instead of datadir/pkgconfig.

As nothing else is using pkgconfigdata any more, remove it entirely.

Note that udev.pc does not contain architecture specific values and thus can be
kept in /usr/share/pkgconfig/.
2015-01-01 16:53:40 +01:00
Zbigniew Jędrzejewski-Szmek 2e219e5672 Remove "to allow" from policy messages
It carries no additional information and forces a passive sentence
structure which is longer and harder to parse.
2015-01-01 09:45:04 -05:00