Daniel Mack [Tue, 17 Nov 2015 08:36:25 +0000 (09:36 +0100)]
Merge pull request #1926 from phomes/include-order-libudev
tree-wide: group include of libudev.h with sd-*
Daniel Mack [Tue, 17 Nov 2015 08:34:58 +0000 (09:34 +0100)]
Merge pull request #1927 from evverx/no-entries-in-quiet-mode
journalctl: don't print -- No entries -- in quiet mode
Daniel Mack [Tue, 17 Nov 2015 08:33:59 +0000 (09:33 +0100)]
Merge pull request #1924 from poettering/some-fixes-2
casting fixes, another siphash24 alignment fix, and more
Evgeny Vereshchagin [Tue, 17 Nov 2015 06:06:52 +0000 (06:06 +0000)]
journalctl: don't print -- No entries -- in quiet mode
Thomas Hindoe Paaboel Andersen [Tue, 17 Nov 2015 05:52:45 +0000 (06:52 +0100)]
tree-wide: group include of libudev.h with sd-*
Lennart Poettering [Tue, 17 Nov 2015 00:31:42 +0000 (01:31 +0100)]
Some additions to NEWS
Lennart Poettering [Tue, 17 Nov 2015 00:08:44 +0000 (01:08 +0100)]
siphash: minor coding style fixes and modernizations
Only cosmetics really, doesn't change any actual logic.
Lennart Poettering [Mon, 16 Nov 2015 23:56:05 +0000 (00:56 +0100)]
siphash: fix another alignment issue
Lennart Poettering [Mon, 16 Nov 2015 23:51:24 +0000 (00:51 +0100)]
tree-wide: make macros for converting fds to pointers and back generic and use them everywhere
Lennart Poettering [Mon, 16 Nov 2015 23:27:18 +0000 (00:27 +0100)]
remount-fs: modernize coding style a bit
a) Use _cleanup_ where it makes sense
b) Uniformly use negative errno-style errors internally, convert to
EXIT_FAILURE/EXIT_SUCCESS only when actually exiting.
c) Use log_oom() where appropriate
d) Fix minor memory leak in hashmap addition error path.
e) Don't pretend we could continue sensibly on OOM or fork() failure
f) Use PR_SET_PDEATHSIG to make sure clients we don't kill on error are
cleaned up.
g) Make use of STRV_MAKE() where it's pretty to do so.
h) Simplify error paths.
Lennart Poettering [Mon, 16 Nov 2015 23:16:21 +0000 (00:16 +0100)]
sd-ipv4ll: fix error path if sd-ipv4acd allocation fails
Let's make sure the destructor cannot hit the n_ref == 0 case.
Lennart Poettering [Mon, 16 Nov 2015 23:02:43 +0000 (00:02 +0100)]
journald: trivial simplification
Lennart Poettering [Mon, 16 Nov 2015 23:02:27 +0000 (00:02 +0100)]
coredump: modernize error logging a bit
Lennart Poettering [Mon, 16 Nov 2015 23:01:00 +0000 (00:01 +0100)]
core: don't generate warnings when write access to the cgroup fs fails in --user due to EACCES
After all, in the classic hierarchy that's pretty much the default case.
Lennart Poettering [Mon, 16 Nov 2015 23:00:32 +0000 (00:00 +0100)]
tree-wide: use right cast macros for UIDs, GIDs and PIDs
Lennart Poettering [Mon, 16 Nov 2015 23:32:06 +0000 (00:32 +0100)]
Merge pull request #1923 from zonque/siphash
siphash24: let siphash24_finalize() and siphash24() return the result…
Daniel Mack [Mon, 16 Nov 2015 22:41:22 +0000 (23:41 +0100)]
Merge pull request #1922 from phomes/sort-includes
Sort includes
Daniel Mack [Mon, 16 Nov 2015 22:17:52 +0000 (23:17 +0100)]
siphash24: let siphash24_finalize() and siphash24() return the result directly
Rather than passing a pointer to return the result, return it directly
from the function calls.
Also, return the result in native endianess, and let the callers care
about the conversion. For hash tables and bloom filters, we don't care,
but in order to keep MAC addresses and DHCP client IDs stable, we
explicitly convert to LE.
Thomas Hindoe Paaboel Andersen [Mon, 16 Nov 2015 21:09:36 +0000 (22:09 +0100)]
tree-wide: sort includes
Sort the includes accoding to the new coding style.
Thomas Hindoe Paaboel Andersen [Mon, 16 Nov 2015 19:13:09 +0000 (20:13 +0100)]
tree-wide: add missing includes
Add a few includes that we rely on to be include already.
David Herrmann [Mon, 16 Nov 2015 15:47:07 +0000 (16:47 +0100)]
Merge pull request #1919 from martinpitt/master
siphash42: add tests with unaligned input pointers
David Herrmann [Mon, 16 Nov 2015 15:28:25 +0000 (16:28 +0100)]
Merge pull request #1918 from dvdhrm/user3
login: allow re-using users (v3)
Martin Pitt [Mon, 16 Nov 2015 15:24:56 +0000 (16:24 +0100)]
siphash42: add tests with unaligned input pointers
Add test case for calling siphash24 with unaligned input pointers, as we
commonly get with calling it on the result on basename() or similar.
This provides a test for PR #1916, rescued from the superseded PR #1911.
Thanks to Steve Langasek for the test!
David Herrmann [Mon, 16 Nov 2015 14:45:02 +0000 (15:45 +0100)]
login: ignore JobRemoved of old jobs
If we requeue jobs, we are no longer interested in old jobs. Hence, we
better ignore any JobRemoved signals for old jobs and concentrate on our
replacements.
Tom Gundersen [Mon, 16 Nov 2015 14:50:13 +0000 (15:50 +0100)]
Merge pull request #1916 from zonque/align
siphash: alignment
David Herrmann [Mon, 16 Nov 2015 14:48:21 +0000 (15:48 +0100)]
Merge pull request #1915 from poettering/btrfs-root-subvol
tmpfiles: create subvolumes for "v", "q", and "Q" only if / is a subv…
David Herrmann [Mon, 16 Nov 2015 14:43:18 +0000 (15:43 +0100)]
login: make sure to replace existing units
When queuing unit jobs, we should rather replace existing units than
fail. This is especially important when we queued a user-shutdown and a
new login is encountered. In this case, we better raplce the shutdown
jobs. systemd takes care of everything else.
David Herrmann [Tue, 29 Sep 2015 09:36:18 +0000 (11:36 +0200)]
login: fix re-use of users
If the last reference to a user is released, we queue stop-jobs for the
user-service and slice. Only once those are finished, we drop the
user-object. However, if a new session is opened before the user object is
fully dropped, we currently incorrectly re-use the object. This has the
effect, that we get stale sessions without a valid "systemd --user"
instance.
Fix this by properly allowing user_start() to be called, even if
user->stopping is true.
David Herrmann [Tue, 29 Sep 2015 09:20:52 +0000 (11:20 +0200)]
login: group static fields in "struct User"
Make sure to put static fields together in "struct User". This makes it
easier to figure out the lifetime of each field.
David Herrmann [Tue, 29 Sep 2015 09:18:46 +0000 (11:18 +0200)]
login: make user->service static
Just like user->slice, there is no reason to store the unit name in /run,
nor should we allocate it dynamically on job instantiation/removal. Just
keep it statically around at all times and rely on user->started ||
user->stopping to figure out whether the unit exists or not.
David Herrmann [Tue, 29 Sep 2015 09:10:01 +0000 (11:10 +0200)]
login: make user_new() and user_free() follow coding-style
Few changes to user_new() and user_free():
- Use _cleanup_(user_freep) in constructor
- return 'int' from user_new()
- make user_free() deal with partially initialized objects
- keep reverse-order in user_free() compared to user_new()
- make user_free() return NULL
- make user_free() accept NULL as no-op
David Herrmann [Tue, 29 Sep 2015 09:03:04 +0000 (11:03 +0200)]
login: keep user->slice constant
Currently, we allocate user->slice when starting a slice, but we never
release it. This is incompatible if we want to re-use a user object once
it was stopped. Hence, make sure user->slice is allocated statically on
the user object and use "u->started || u->stopping" as an indication
whether the slice is actually available on pid1 or not.
David Herrmann [Mon, 28 Sep 2015 10:53:42 +0000 (12:53 +0200)]
login: simply XDG_RUNTIME_DIR management
Lets not pretend we support changing XDG_RUNTIME_DIR via logind state
files. There is no reason to ever write the string into /run, as we
allocate it statically based on the UID, anyway. Lets stop that and just
allocate the runtime_path in "struct User" at all times.
We keep writing it into the /run state to make sure pam_systemd of
previous installs can still read it. However, pam_systemd is now fixed to
allocate it statically as well, so we can safely remove that some time in
the future.
Last but not least: If software depends on systemd, they're more than free
to assume /run/user/$uid is their runtime dir. Lets not require sane
applications to query the environment to get their runtime dir. As long as
applications know their login-UID, they should be safe to deduce the
runtime dir.
Lennart Poettering [Mon, 16 Nov 2015 14:25:42 +0000 (15:25 +0100)]
tmpfiles: create subvolumes for "v", "q", and "Q" only if / is a subvolume
It's not a good idea to create subvolumes for parts of the OS tree (such
as /home, or /var) if the root directory is not a subvolume too. We
shouldn't assume control of "heavier" objects such as subvolumes, if the
originating object (the root directory) is a "light-weight" object, i.e.
a plain directory.
Effectively this means that chroot() environments that are run on a
plain directory do not have to deal with problems around systemd
creating subvolumes that cannot be removed with a simple "rm" anymore.
However, if the chroot manager creates a proper subvolume for such an
environment it will also get further subvolumes placed in there, under
the assumption that the manager understands the concept of subvolumes in
that case.
Martin Pitt [Mon, 16 Nov 2015 08:21:20 +0000 (09:21 +0100)]
siphash24: change result argument to uint64_t
Change the "out" parameter from uint8_t[8] to uint64_t. On architectures which
enforce pointer alignment this fixes crashes when we previously cast an
unaligned array to uint64_t*, and on others this should at least improve
performance as the compiler now aligns these properly.
This also simplifies the code in most cases by getting rid of typecasts. The
only place which we can't change is struct duid's en.id, as that is _packed_
and public API, so we can't enforce alignment of the "id" field and have to
use memcpy instead.
Daniel Mack [Mon, 16 Nov 2015 12:08:34 +0000 (13:08 +0100)]
siphash24: fix memory alignment
Use unaligned_read_le64() to access input buffer when reading complete
64-bit words.
This should fix memory traps on platforms with strict aliasing.
Daniel Mack [Mon, 16 Nov 2015 12:07:12 +0000 (13:07 +0100)]
basic: add unaligned macros for little endian
Also add test code for that.
David Herrmann [Mon, 16 Nov 2015 14:09:55 +0000 (15:09 +0100)]
Merge pull request #1886 from poettering/tasks-max
Enable TasksMax by default for all units
David Herrmann [Mon, 16 Nov 2015 14:05:00 +0000 (15:05 +0100)]
TODO: sort
Lennart Poettering [Mon, 16 Nov 2015 11:33:09 +0000 (12:33 +0100)]
Merge pull request #1907 from evverx/fix-pam-install-on-debian
tests: fix pam_modules installation on Debian (and Debian-like systems)
Martin Pitt [Mon, 16 Nov 2015 11:00:38 +0000 (12:00 +0100)]
virt: sort #includes alphabetically
nitpick from PR #1910
David Herrmann [Mon, 16 Nov 2015 11:00:20 +0000 (12:00 +0100)]
Merge pull request #1908 from phomes/network-memleak
network: dhcp6 - fix mem leak
David Herrmann [Mon, 16 Nov 2015 10:59:21 +0000 (11:59 +0100)]
Merge pull request #1906 from poettering/pid-check
machined,logind: be more careful when accepting PIDs and UIDs from clients
Lennart Poettering [Fri, 13 Nov 2015 18:38:40 +0000 (19:38 +0100)]
nspawn: set TasksMax= for containers to 8192 by default
Lennart Poettering [Fri, 13 Nov 2015 18:32:37 +0000 (19:32 +0100)]
logind: change default to UserTasksMax= to 4096
Lennart Poettering [Fri, 13 Nov 2015 18:28:32 +0000 (19:28 +0100)]
core: enable TasksMax= for all services by default, and set it to 512
Also, enable TasksAccounting= for all services by default, too.
See:
http://lists.freedesktop.org/archives/systemd-devel/2015-November/035006.html
Lennart Poettering [Mon, 16 Nov 2015 10:52:17 +0000 (11:52 +0100)]
Merge pull request #1910 from martinpitt/master
virt: add missing #includes
Martin Pitt [Mon, 16 Nov 2015 07:04:24 +0000 (08:04 +0100)]
virt: add missing #includes
src/basic/virt.c: In function 'detect_vm_device_tree':
src/basic/virt.c:117:17: error: unknown type name '_cleanup_closedir_'
_cleanup_closedir_ DIR *dir = NULL;
src/basic/virt.c:128:17: error: implicit declaration of function 'FOREACH_DIRENT' [-Werror=implicit-function-declaration]
FOREACH_DIRENT(dent, dir, return -errno)
Evgeny Vereshchagin [Mon, 16 Nov 2015 03:10:54 +0000 (03:10 +0000)]
tests: intsall /etc/login.defs
Fixes:
systemd-testsuite login[31]: cannot open login definitions /etc/login.defs [No such file or directory]
systemd-testsuite systemd[1]: Received SIGCHLD from PID 31 (login).
systemd-testsuite systemd[1]: Child 31 (login) died (code=exited, status=1/FAILURE)
systemd-testsuite systemd[1]: console-getty.service: Child 31 belongs to console-getty.service
systemd-testsuite systemd[1]: console-getty.service: Main process exited, code=exited, status=1/FAILURE
systemd-testsuite systemd[1]: console-getty.service: Changed running -> dead
on Debian/Ubuntu
Useful on other distros
Thomas Hindoe Paaboel Andersen [Sun, 15 Nov 2015 22:08:22 +0000 (23:08 +0100)]
network: dhcp6 - fix mem leak
from
7a695d8e
CID#1338679
Evgeny Vereshchagin [Sun, 15 Nov 2015 20:38:56 +0000 (20:38 +0000)]
tests: fix pam_modules installation on Debian (and Debian-like systems)
libpam_modules installs modules into /lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/security
on Debian
Fixes:
systemd-testsuite login[36]: PAM unable to dlopen(pam_group.so): /lib/security/pam_group.so: cannot open shared object file: No such file or directory
systemd-testsuite login[36]: PAM adding faulty module: pam_group.so
systemd-testsuite login[36]: PAM unable to dlopen(pam_limits.so): /lib/security/pam_limits.so: cannot open shared object file: No such file or directory
systemd-testsuite login[36]: PAM adding faulty module: pam_limits.so
...
etc
Lennart Poettering [Sun, 15 Nov 2015 21:00:47 +0000 (22:00 +0100)]
machined,logind: be more careful when accepting PIDs and UIDs from clients
Always validate first before we start processing the data.
Lennart Poettering [Sun, 15 Nov 2015 19:42:26 +0000 (20:42 +0100)]
Merge pull request #1903 from phomes/gitignore
gitignore: add test-install-root
Thomas Hindoe Paaboel Andersen [Sun, 15 Nov 2015 19:35:30 +0000 (20:35 +0100)]
gitignore: add test-install-root
Lennart Poettering [Sun, 15 Nov 2015 18:46:00 +0000 (19:46 +0100)]
Merge pull request #1901 from evverx/various-fixes
Various fixes
Lennart Poettering [Sun, 15 Nov 2015 18:44:55 +0000 (19:44 +0100)]
Merge pull request #1899 from phomes/NEWS-typo
NEWS: typo fixes
Evgeny Vereshchagin [Sun, 15 Nov 2015 17:26:05 +0000 (17:26 +0000)]
tests: install execs from user units too
Fixes:
systemd[39]: systemd-exit.service: Executing: /bin/kill -s 58 29
systemd[39]: systemd-exit.service: Failed at step EXEC spawning /bin/kill: No such file or directory
systemd[29]: Received SIGCHLD from PID 39 ((kill)).
systemd[29]: Child 39 ((kill)) died (code=exited, status=203/EXEC)
Evgeny Vereshchagin [Sun, 15 Nov 2015 16:16:38 +0000 (16:16 +0000)]
firstboot: log on take_etc_passwd_lock error too
Lennart Poettering [Sun, 15 Nov 2015 18:28:13 +0000 (19:28 +0100)]
Merge pull request #1898 from marcosfrm/journalctl-shell-completion-2
shell-completion: journalctl: add --sync
Thomas Hindoe Paaboel Andersen [Sun, 15 Nov 2015 16:30:33 +0000 (17:30 +0100)]
NEWS: typo fixes
Marcos Mello [Thu, 12 Nov 2015 09:09:08 +0000 (07:09 -0200)]
shell-completion: journalctl: add --sync
From 94b6551
Daniel Mack [Sun, 15 Nov 2015 15:51:51 +0000 (16:51 +0100)]
Merge pull request #1896 from phomes/install-wrong-enum
install: don't mix state and type enums
Thomas Hindoe Paaboel Andersen [Sun, 15 Nov 2015 13:43:46 +0000 (14:43 +0100)]
install: don't mix state and type enums
from
0ec0deaa
Kay Sievers [Sat, 14 Nov 2015 08:54:17 +0000 (09:54 +0100)]
hwdb: update
Lennart Poettering [Fri, 13 Nov 2015 17:48:42 +0000 (18:48 +0100)]
core: now that .snapshot unit are gone, we don't need the per-type .no_gc bool anymore
Lennart Poettering [Fri, 13 Nov 2015 17:46:12 +0000 (18:46 +0100)]
core: simplify scope unit GC checking code a bit
Lennart Poettering [Fri, 13 Nov 2015 17:25:02 +0000 (18:25 +0100)]
logind: add a new UserTasksMax= setting to logind.conf
This new setting configures the TasksMax= field for the slice objects we
create for each user.
This alters logind to create the slice unit as transient unit explicitly
instead of relying on implicit generation of slice units by simply
starting them. This also enables us to set a friendly description for
slice units that way.
Lennart Poettering [Fri, 13 Nov 2015 17:47:02 +0000 (18:47 +0100)]
logind: don't assert if the slice is missing
After all, we don't actually really need the slice to work, it's just
nice to have it.
Lennart Poettering [Fri, 13 Nov 2015 17:46:50 +0000 (18:46 +0100)]
core: enable transient unit support for slice units
Lennart Poettering [Fri, 13 Nov 2015 17:19:34 +0000 (18:19 +0100)]
man: document our definition of a year and a month
Let's be accurate here, as this might be surprising to people.
Lennart Poettering [Fri, 13 Nov 2015 17:12:37 +0000 (18:12 +0100)]
util-lib: when parsing time values, accept "M" as short for "month"
nginx defines an uppercase "M" that way (in contrast to the lowercase
"m" for "minute"), and it sounds like an OK logic to follow, so that we
understand a true superset of time values nginx understands.
http://nginx.org/en/docs/syntax.html
Lennart Poettering [Fri, 13 Nov 2015 17:07:39 +0000 (18:07 +0100)]
btrfs: properly handle the case when a subvol has no parent
Don't be confused by subvols without parent. This is after all how the
root subvol is set up.
Lennart Poettering [Fri, 13 Nov 2015 16:13:55 +0000 (17:13 +0100)]
core: add new DefaultTasksMax= setting for system.conf
This allows initializing the TasksMax= setting of all units by default
to some fixed value, instead of leaving it at infinity as before.
Lennart Poettering [Fri, 13 Nov 2015 14:24:21 +0000 (15:24 +0100)]
core: make sure DefaultLimitCPU= and DefaultLimitRTTIME= understand time units, too
We added this for the per-unit setting, hence let's enable this for the
global default settings too.
Lennart Poettering [Fri, 13 Nov 2015 17:37:24 +0000 (18:37 +0100)]
Merge pull request #1883 from evverx/man-systemd-service-sd-watchdog-enabled
man: add note about sd_watchdog_enabled
Evgeny Vereshchagin [Fri, 13 Nov 2015 16:48:34 +0000 (16:48 +0000)]
man: add note about sd_watchdog_enabled
Lennart Poettering [Fri, 13 Nov 2015 15:40:37 +0000 (16:40 +0100)]
Merge pull request #1880 from fsateler/sysctl-doc
man: document systemd-sysctl arguments
Kay Sievers [Fri, 13 Nov 2015 14:48:29 +0000 (15:48 +0100)]
Merge pull request #1878 from hbrueckner/for-upstream
udev/path_id: improve and enhance bus detection for Linux on z Systems
Felipe Sateler [Fri, 13 Nov 2015 12:52:06 +0000 (09:52 -0300)]
man: document systemd-sysctl arguments
Lennart Poettering [Fri, 13 Nov 2015 14:30:15 +0000 (15:30 +0100)]
Merge pull request #1881 from michich/analyze-dot
analyze: dot graph missing Requisite, superfluous ConflictedBy
Lennart Poettering [Fri, 13 Nov 2015 14:29:45 +0000 (15:29 +0100)]
Merge pull request #1882 from teg/networkd-dhcp6-fix
networkd: link - fix ipv6ll_gained() handling
Tom Gundersen [Fri, 13 Nov 2015 14:05:58 +0000 (15:05 +0100)]
networkd: check explicit state rather than link->network
When deserializing we can now have an attached network without the various clients yet
having been configured. Hence, don't misused the link->network as a check to determine
if a link is ready to be used, but check the state explicitly.
Michal Schmidt [Fri, 13 Nov 2015 13:52:33 +0000 (14:52 +0100)]
analyze: do not draw ConflictedBy dependencies in dot graph
We already draw Conflicts. I see no reason for having every red line in
the graph duplicated in the opposite direction.
Lennart Poettering [Fri, 13 Nov 2015 13:59:25 +0000 (14:59 +0100)]
NEWS: document two more changes in behaviour
Tom Gundersen [Fri, 13 Nov 2015 13:35:39 +0000 (14:35 +0100)]
networkd: dhcp6 - don't log about losing a lease we never had
Michal Schmidt [Fri, 13 Nov 2015 13:30:07 +0000 (14:30 +0100)]
analyze: show Requisite dependencies in the dot graph again
We lost them a long time ago with commit
048ecf5b843.
Tom Gundersen [Fri, 13 Nov 2015 13:18:32 +0000 (14:18 +0100)]
Merge pull request #1879 from poettering/networkd-forward
stop managing per-interface IP forwarding settings
Michal Schmidt [Fri, 13 Nov 2015 13:04:34 +0000 (14:04 +0100)]
Merge pull request #1869 from poettering/kill-overridable
Remove support for RequiresOverridable= and RequisiteOverridable=
Lennart Poettering [Fri, 13 Nov 2015 12:59:50 +0000 (13:59 +0100)]
NEWS: add more stuff, and reorder things a bit
Lennart Poettering [Fri, 13 Nov 2015 12:52:00 +0000 (13:52 +0100)]
catalog: move danish catalog into the right place, and drop DOS line breaks
Lennart Poettering [Fri, 13 Nov 2015 12:12:50 +0000 (13:12 +0100)]
Merge pull request #1875 from marineam/fsck-after-resume
generator: order initrd fsck-root after local-fs-pre
Lennart Poettering [Fri, 13 Nov 2015 11:49:15 +0000 (12:49 +0100)]
networkd: stop managing per-interface IP forwarding settings
As it turns out the kernel does not support per-interface IPv6 packet
forwarding controls (unlike as it does for IPv4), but only supports a
global option (#1597). Also, the current per-interface management of the
setting isn't really useful, as you want it to propagate to at least one
more interface than the one you configure it on. This created much grief
(#1411, #1808).
Hence, let's roll this logic back and simplify this again, so that we
can expose the same behaviour on IPv4 and IPv6 and things start to work
automatically again for most folks: if a network with this setting set
is set up we propagate the setting into the global setting, but this is
strictly one-way: we never reset it again, and we do nothing for network
interfaces where this setting is not enabled.
Fixes: #1808, #1597.
Lennart Poettering [Fri, 13 Nov 2015 11:32:38 +0000 (12:32 +0100)]
networkd: rearrange checks when to write something into sysctl a bit
Move check whether ipv6 is available into link_ipv6_privacy_extensions()
to keep it as internal and early as possible.
Always check if there's a network attached to a link before we apply
sysctls. We do this for most of the sysctl functions already, with this
change we do it for all.
Lennart Poettering [Fri, 13 Nov 2015 11:30:57 +0000 (12:30 +0100)]
networkd: fix a couple of format string types
We really should use %i for ints, and %u for unsigneds, and be careful
what we pick depending on the type we want to print.
Lennart Poettering [Thu, 12 Nov 2015 23:54:56 +0000 (00:54 +0100)]
util-lib: optionally, when writing a string to a file, verify string on failure
With this change, the idiom:
r = write_string_file(p, buf, 0);
if (r < 0) {
if (verify_one_line_file(p, buf) > 0)
r = 0;
}
gets reduced to:
r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE);
i.e. when writing the string fails and the new flag
WRITE_STRING_FILE_VERIFY_ON_FAILURE is specified we'll not return a
failure immediately, but check the contents of the file. If it matches
what we wanted to write we suppress the error and exit cleanly.
Liu Yuan Yuan [Fri, 13 Nov 2015 10:50:42 +0000 (11:50 +0100)]
udev/path_id: improve and enhance bus detection for Linux on z Systems
Improve and enhance the path_id udev builtin to correctly handle bus'
available on Linux on z Systems (s390).
Previously, the CCW bus and, in particular, any FCP devices on it, have
been treated separately. This commit integrates the CCW bus into the
device chain loop. FCP devices and their associated SCSI disks are now
handled through the common SCSI handling functions in path_id.
This implies also a change in the naming of the symbolic links created
by udev. So any backports of this commit to existing Linux distribution
must be done with care. If a backport is required, a udev rule must be
created to also create the "old-style" symbolic links.
Apart from the CCW bus, this commit adds bus support for the:
- ccwgroup bus which manages network devices, and
- ap bus which manages cryptographic adapters
- iucv bus which manages IUCV devices on z/VM
Michael Marineau [Fri, 13 Nov 2015 02:10:57 +0000 (18:10 -0800)]
generator: order initrd fsck-root after local-fs-pre
The initrd version of systemd-fsck-root.service must wait for
local-fs-pre.target just like systemd-fsck@.service to prevent
modifications to the filesystem prior to resuming from hibernation.
As-is my laptop routinely fails to resume due to fsck errors. The rest
of the time it is probably silently corrupting the filesystem.
Unlike normal boot, in the initrd systemd-fsck-root.service has no
special significance so it needs to be kept in sync with
systemd-fsck@.service. The name systemd-fsck-root.service is only used
to preserve state across switch-root.
Tom Gundersen [Fri, 13 Nov 2015 01:11:50 +0000 (02:11 +0100)]
Merge pull request #1871 from poettering/nspawn-veth-extra
nspawn: add ability to define additional, arbitrary veth links between host and container
Lennart Poettering [Thu, 12 Nov 2015 20:57:23 +0000 (21:57 +0100)]
update TODO
Lennart Poettering [Thu, 12 Nov 2015 20:54:28 +0000 (21:54 +0100)]
nspawn: add new --network-veth-extra= switch for defining additional veth links
The new switch operates like --network-veth, but may be specified
multiple times (to define multiple link pairs) and allows flexible
definition of the interface names.
This is an independent reimplementation of #1678, but defines different
semantics, keeping the behaviour completely independent of
--network-veth. It also comes will full hook-up for .nspawn files, and
the matching documentation.