Commit Graph
13589 Commits
Author SHA1 Message Date
Michal Schmidt 5cfab271fe import: report error before losing errno
unlink() may change errno, so report the error from rename() first, then
unlink.
2015-11-05 13:44:09 +01:00
Michal Schmidt 4546c34193 firstboot: fix errno sign 2015-11-05 13:44:08 +01:00
Michal Schmidt 7bb87460e6 journal: posix_fallocate() does not set errno
manpage says:
 posix_fallocate() returns zero on success, or an error number on
 failure. Note that errno is not set.
2015-11-05 13:44:07 +01:00
Michal Schmidt 709f6e46a3 treewide: use the negative error codes returned by our functions
Our functions return negative error codes.
Do not rely on errno being set after calling our own functions.
2015-11-05 13:44:06 +01:00
Michal Schmidt c3753458fc journal: fix incorrect errno reporting
pread() returns -1 on error and sets errno. Do not use the -1 as errno.
2015-11-05 13:44:06 +01:00
Michal Schmidt 77ba8233f7 journal: use int64_t instead of long for catalog file size
This replaces the use of ftell() with ftello() for 64-bit size on all
archs.

Also drops a pointless check for NULL before calling strbuf_cleanup().
2015-11-05 13:44:05 +01:00
Michal Schmidt 8d2ecdb2cf journal: drop unnecessary write_catalog() parameter
write_catalog() use the hashmap only to get its size. The size is
already given in parameter 'n'.
2015-11-05 13:44:04 +01:00
Michal Schmidt bcf5c276cc log: whitespace style fix 2015-11-05 13:44:03 +01:00
Michal Schmidt ad71eee550 tty-ask-password-agent: fix typo in error message 2015-11-05 13:44:01 +01:00
Vito Caputo ad231c7787 core: still make progress when throttling the manager loop
Don't simply continue after sleeping, it potentially puts us in a state
of spinning doing nothing slowly, if the ratelimit_test() keeps
detecting the need for limiting.

Observed in vms after the host had been suspended for a while, on resume
systemd entered a loop of making zero progress spamming the console
with:
[431942.850090] systemd[1]: Looping too fast. Throttling execution a
little.

I see no reason to have a continue here, the intention should be to
throttle execution, not circumvent it altogether.
2015-11-04 17:32:16 -08:00
Lennart Poettering a6bff4a742 Merge pull request #1761 from ssahani/word
core: parse socket port to extract_first_word
2015-11-04 20:16:14 +01:00
Andrew Jones 3728dcde45 detect-virt: dmi: look for KVM
Some guests (ARM, AArch64, x86-RHEL) have 'KVM' in the product name.
Look for that first in order to more precisely report "kvm" when
detecting a QEMU/KVM guest. Without this patch we report "qemu",
even if KVM acceleration is in use on ARM/AArch64 guests.

I've only tested a backported version of this and the previous
patch on an AArch64 guest (which worked). Of course it would be
nice to get regression testing on all guest types that depend on
dmi done.
2015-11-04 11:19:40 -06:00
Andrew Jones 2ef8a4c439 arm/aarch64: detect-virt: check dmi
ARM/AArch64 guests now have SMBIOS tables populated (when boot
with a late enough QEMU and a late enough AAVMF is used as the
bootloader). Furthermore, when booting ARM/AArch64 guests with
ACPI, the DT detection obviously no longer works, so we need
dmi detection.
2015-11-04 11:19:37 -06:00
Andrew Jones 42685451ed detect-virt: detect in best-heuristic order
afaict, this will fix a regression caused by commit 75f86906c5.
Where we used to report "kvm" before that patch, without this patch,
we would only report "qemu". The reason is because cpuid detection
must come before dmi detection. Also, both can safely come before
other xen heuristics. Untested.
2015-11-04 11:19:33 -06:00
Torstein Husebø f1f849b0c6 core: fix typo 2015-11-04 13:18:59 +01:00
Daniel Mack 9fead19d58 Merge pull request #1773 from evverx/dont-hide-enomem
core: small fixes to parse_namespace
2015-11-04 12:17:18 +01:00
Lennart Poettering b3d2548baf Merge pull request #1768 from vcaputo/sd-daemon-listen-fds-overflow-bis
sd-daemon: fix potential LISTEN_FDS overflow in sd_listen_fds()
2015-11-04 11:55:40 +01:00
Evgeny Vereshchagin 0293a7a830 core: small fixes to parse_namespace
* don't hide ENOMEM
* log r instead of 0
2015-11-04 00:41:18 +03:00
Vito Caputo 046c93f8db sd-daemon: fix potential LISTEN_FDS overflow in sd_listen_fds() 2015-11-03 11:13:26 -08:00
Susant Sahani 7b2313f5ca core: parse socket port to extract_first_word 2015-11-03 22:49:05 +05:30
Lennart Poettering 119e9655dc journal: restore watchdog support 2015-11-03 17:45:12 +01:00
Lennart Poettering caffe412c7 sd-daemon: explicitly filter out -1 when parsing watchdog timeout
We already filter out 0, and as -1 is usually special (meaning infinity,
as in USEC_INFINITY) we should better not accept it either. Better safe
than sorry...
2015-11-03 17:45:12 +01:00
Lennart Poettering a0f29c767a util-lib: move CONF_DIRS_NULSTR definition to def.h
After all, this is not some compiler or C magic, but something very
specific to how systemd works, hence let's move it into def.h, and out
of macro.h
2015-11-03 17:45:11 +01:00
Lennart Poettering b11d6a7bed util-lib: move character class definitions to string-util.h 2015-11-03 17:45:11 +01:00
Lennart Poettering 5703176d6e Merge pull request #1764 from ssahani/jiffies-1
(V2) networkd: bridge convert to jiffies
2015-11-03 17:38:22 +01:00
Susant Sahani 1a14863e7e networkd: bridge prop convert to jiffies 2015-11-03 21:59:42 +05:30
Susant Sahani 87b8ce69f6 Time-util: introduce usec to jiffies 2015-11-03 21:58:42 +05:30
Tom Gundersen 0f8980e48b sd-pppoe: drop
It is really unclear if we want to / have the resources to support this fully, so drop it
for now. It can easily be brought back if a killer usecase emerges.

Note that this code was never hooked up, so this does not remove any features.
2015-11-03 16:14:12 +01:00
Daniel Mack 4084052911 Merge pull request #1726 from teg/networkd-2
networkd: (de)serialize more state and support expiring routes
2015-11-03 15:03:50 +01:00
Lennart Poettering 8ba576d0e6 Merge pull request #1744 from evverx/fix-debug-generator
debug-generator: respect kernel parameters for default unit setting
2015-11-03 13:04:06 +01:00
Evgeny Vereshchagin 7dcc56715d debug-generator: respect kernel parameters for default unit setting 2015-11-03 14:47:39 +03:00
Evgeny Vereshchagin e2c9a13136 core: use runlevel_to_target for /proc/cmdline parsing 2015-11-03 14:24:52 +03:00
Evgeny Vereshchagin c573dcfeb1 proc-cmdline: add runlevel to target mapping 2015-11-03 14:09:03 +03:00
Daniel Mack 5dea1c1e79 Merge pull request #1754 from martinpitt/master
core: drop check for /etc/mtab
2015-11-03 07:24:02 +01:00
Daniel Mack a31afe1a18 Merge pull request #1758 from poettering/varietygalore
A grab bag of stuff
2015-11-03 07:15:44 +01:00
Susant Sahani 3dbcf57957 networkd: vxlan add option to set FDB entries
Add support to configures maximum number of FDB entries.
2015-11-03 09:28:03 +05:30
Zbigniew Jędrzejewski-Szmek 2c1a55cf3f log-generator: add option to generate easily compressible data
This is useful to check that compression actually works, and how
compression influences file size in the best-case-scenario for
compression. (The answer is that not as much as one would hope:
there's still a big overhead of the indexing and since every field
is compressed separately, even fields that compress very well
contribute to the file size. This overhead becomes negligible only
for very big fields.)
2015-11-03 00:23:16 +01:00
Lennart Poettering 6ad623a3f7 parse-util: introduce parse_ifindex() and make use of it everywhere
We have enough places where we parse an ifindex, hence introduce a
proper parsing function for it, that verifies all parameters.
2015-11-03 00:02:00 +01:00
Lennart Poettering 6a37c68469 machine: when we fail to extract a network interface from the machine state, don't try again
If we failed to extract a word, then that's how it is, we shouldn't try
to extract it again and again, it's unlikely to work, and we just
deadlock.

This is a fix-up for 52278ad31d.
2015-11-03 00:02:00 +01:00
Lennart Poettering 5768d25949 journalctl: when we fail to open a journal file, print why
When we enumerate journal files and encounter an invalid one, remember
which this, and show it to the user.

Note the possibly slightly surprising logic here: we store only one path
per error code. This means we show all error kinds but not every actual
error we encounter. This has the benefit of not requiring us to keep a
potentially unbounded list of errors with their sources around, but can
still provide a pretty complete overview on the errors we encountered.

Fixes #1669.
2015-11-03 00:02:00 +01:00
Lennart Poettering d617408ecb sd-journal: various clean-ups and modernizations
- Always print a debug log message about files and directories we cannot
  open right when it happens instead of the caller, thus reducing the
  number of places where we need to generate the debug message.

- Always push the errors we encounter immediately into the error set,
  when we run into them, instead of in the caller. Thus, we never forget
  to push them in.

- Use stack instead of heap memory where we can.

- Make remove_file() void, since it cannot fail anyway and always
  returned 0.

- Make local machine check of journal directories explicit in a
  function, to make things more readable.

- Port to all directory listing loops FOREACH_DIRENT_ALL()

- sd-daemon is library code, hence never log at higher log levels than
  LOG_DEBUG.
2015-11-03 00:02:00 +01:00
Lennart Poettering 4f52b822b0 journalctl: continue operation, even if we run into an invalid file 2015-11-03 00:02:00 +01:00
Zbigniew Jędrzejewski-Szmek cfb571f30f journal: return better error for empty files
When reading stuff, we should only return EIO when an actual read error
occured, not when we don't like the data for whatever reason.

We already return ENODATA for all other kinds of file truncation, hence
do the same for the most obvious kind, so that callers know what ENODATA
means.
2015-11-03 00:02:00 +01:00
Lennart Poettering d8e023aa07 core: expose number of file descriptors in fd store on the bus
For each service expose how many file descriptors there are currently in
the fd store.

(Also, fix the exporting of the fdstore limit, given that the field is
just an "unsigned" but we exported it as "uint32_t". Not that there way
any effective difference, but let's make this clean...)
2015-11-02 23:44:05 +01:00
Lennart Poettering 934ae16baf proc-cmdline: return proper errors from shall_restore_state()
Let's not eat up errors in shall_restore_state(), but in the consumers
instead, just for the sake of keeping the library calls generic.
2015-11-02 23:44:05 +01:00
Lennart Poettering 19854865a8 core: bump net.unix.max_dgram_qlen really early during boot
Only that way it actually has an effect on all our sockets, including
$NOTIFY_SOCKET.
2015-11-02 23:44:05 +01:00
Thomas Hindoe Paaboel Andersen 859fdd1eea sysv-generator: remove duplicate const
I assume this was a typo in c279613f86
2015-11-02 23:18:20 +01:00
Lennart Poettering 9fe4ea21be string-util: rework memory_erase() so that it cannot be optimized away
memory_erase() so far just called memset(), which the compiler might
optimize away under certain conditions if it feels there's benefit in
it. C11 knows a new memset_s() call that is like memset(), but may not
be optimized away. Ideally, we'd just use that call, but glibc currently
does not support it. Hence, implement our own simplistic version of it.

We use a GCC pragma to turn off optimization for this call, and also use
the "volatile" keyword on the pointers to ensure that gcc will use the
pointers as-is. According to a variety of internet sources, either one
does the trick. However, there are also reports that at least the
volatile thing isn't fully correct, hence let's add some snake oil and
employ both techniques.

https://news.ycombinator.com/item?id=4711346
2015-11-02 23:07:20 +01:00
Lennart Poettering 5732a7dbb0 Merge pull request #1690 from evverx/run-runtime-directory
systemd-run can launch units with RuntimeDirectory
2015-11-02 20:16:18 +01:00
Lennart Poettering 3e66a83cc3 Merge pull request #1736 from ronnychevalier/rc/test_execute_more_tests2
test-execute: add more tests
2015-11-02 20:06:48 +01:00