Commit Graph
57095 Commits
Author SHA1 Message Date
Ville Skyttä 636c7a44d5 man: spelling fix 2011-12-20 23:50:01 +01:00
Lennart Poettering bc85bfee87 journal: fix space reservation limit enforcement 2011-12-20 02:38:36 +01:00
Lennart Poettering 466ccd92e2 journal: fix matches 2011-12-20 00:38:14 +01:00
Michal Schmidt 8f7f7a1bd3 log: never block on syslog in PID 1
Use a non-blocking syslog socket if logging from PID 1.
If sendmsg fails with EAGAIN, fall back to kmsg or console only for the
current message. Next message will try syslog again.
2011-12-20 00:23:51 +01:00
Michal Schmidt 9721b19968 dbus: no sync D-Bus connection flushing
Blocking on D-Bus in a system manager could lead to deadlock.
2011-12-20 00:23:51 +01:00
Michal Schmidt cbd37330bc dbus: register to DBus asynchronously
Chen Jie observed and analyzed a deadlock. Assuming systemd-kmsg-syslogd
is already stopped, but rsyslogd is not started yet:
 1. systemd makes a synchronous call to dbus-daemon.
 2. dbus-daemon wants to write something to syslog.
 3. syslog needs to be started by systemd.
   ... but cannot be, because systemd is waiting in 1.

Solve this by avoiding synchronous D-Bus calls. I had to write an async
bus registration call. Interestingly, D-Bus authors anticipated this, in
documentation to dbus_bus_set_unique_name():
> The only reason to use this function is to re-implement the equivalent
> of dbus_bus_register() yourself. One (probably unusual) reason to do
> that might be to do the bus registration call asynchronously instead
> of synchronously.

Lennart's comments from IRC:
> though I think this doesn't fix the problem in its entirety
> simply because dbus_connection_open_private() itself is still synchronous
> i.e. the connect() call behind it is not async
> I think I listed that issue actually on some D-Bus todo list
> i.e. to make dbus_connection_get() fully async
> but that's going to be hard
> so your patch looks good

So it may not be perfect, but it's clearly an improvement.
I did not manage to reproduce the original deadlock with the patch.
2011-12-20 00:17:14 +01:00
Dan Walsh 81c3f1f6ab label: fix labeling of symbolic links 2011-12-19 23:58:58 +01:00
Lennart Poettering 50f20cfdb0 journal: implement inotify-based live logging logic 2011-12-19 22:35:46 +01:00
Lennart Poettering 76318284fc man: switch to UTF-8 output, to work around charset issues 2011-12-19 20:25:52 +01:00
Lennart Poettering 38c67e2a44 man: generate HTML instead of XHTML with XSL docbook to work around 'fsfunc' noise 2011-12-19 19:55:54 +01:00
Lennart Poettering 2e4a6ff47b hashmap: add hashmap_first_key() 2011-12-19 19:54:51 +01:00
Lennart Poettering 5079a105e7 man: extend sd-login(7) in regards to mixing D-Bus and synchronous library calls a bit 2011-12-19 17:40:31 +01:00
Lennart Poettering 595aae376f man: various updates 2011-12-19 14:42:59 +01:00
Lennart Poettering 01448ff92d man: add sd-login(7) page 2011-12-19 13:57:07 +01:00
Lennart Poettering c10eb7b02e build-sys: add rules for man page aliases 2011-12-19 13:25:00 +01:00
Lennart Poettering 559de12890 man: sd_readahead is not actually available in libsystemd-daemon 2011-12-19 13:19:01 +01:00
Lennart Poettering f0d2e205a2 man: build new man pages 2011-12-19 13:12:36 +01:00
Lennart Poettering a822cbfa2e sd-daemon: fix #include lines since we now ship a shared library 2011-12-19 13:11:42 +01:00
Lennart Poettering 0b3b020a17 man: document the sd-login interfaces 2011-12-19 03:02:17 +01:00
Lennart Poettering 2b0ba69bb1 journald: filter fields send from client starting with underscore 2011-12-17 01:36:47 +01:00
Michal Schmidt 0b1f4ae635 execute: fix losing of start timestamps
Start timestamps were always cleared before saving exit timestamps.
Fix it by removing a condition that makes no sense any way I look at it.
2011-12-17 01:33:40 +01:00
Lennart Poettering d0bbc21caa journal: introduce mandatory sd_journal_printf() priority parameter 2011-12-17 01:32:49 +01:00
Lennart Poettering cab8ac6083 journal: enforce limits on open journal files 2011-12-17 01:13:55 +01:00
Lennart Poettering 7f3e62571a journal: add native protocol to journald, and client side API to send journal messages 2011-12-17 00:56:34 +01:00
Michal Schmidt 4f025f4c4f man: fix misplaced remark in description of Sockets= 2011-12-17 00:40:21 +01:00
Michal Schmidt 777b87e702 tmpfiles: add 'z', like 'Z' but not recursive 2011-12-16 18:27:35 +01:00
Michal Schmidt 062e01bbdb tmpfiles: apply chown, chmod for 'Z' entries too
If changing ownership or permissions is not desired, they can be
configured to '-' or omitted entirely.
2011-12-16 18:04:54 +01:00
Michal Schmidt 18d01523c8 service: use 'syslog+console' for sysv_console
The default output to 'tty' for SysV service was making it hard to debug
problems because error messages were missing from syslog.
2011-12-16 17:40:41 +01:00
Michal Schmidt a37b560a63 man: mention that 'Z' ignores uid/gid/mode 2011-12-16 00:38:22 +01:00
Michal Schmidt 462d63db06 man: document 'Z' in tmpfiles 2011-12-16 00:31:21 +01:00
Michal Schmidt a8d8878329 tmpfiles: add RECURSIVE_RELABEL_PATH ('Z')
Feature requested by Dan Walsh.
2011-12-16 00:31:21 +01:00
Michal Schmidt 99e68c0b2d tmpfiles: separate a generic item glob processing function
Item glob processing will be useful for more than just removing.
2011-12-15 23:58:55 +01:00
Michal Schmidt f05bc3f7f1 tmpfiles: use a common function to set owner/group/mode/label 2011-12-15 23:56:58 +01:00
Michal Schmidt a08961233b tmpfiles: rename a couple of functions
remove_item -> remove_item_instance
remove_item_glob -> remove_item
2011-12-15 23:09:08 +01:00
Michal Schmidt 66ccd0387e tmpfiles: use an enum instead of plain char for item type
For better safety. gcc can warn about missing values in switch statements.
2011-12-15 23:09:08 +01:00
Michal Schmidt c971700e41 systemctl: fix typo in 'is-enabled'
It prevented the action from working without dbus.
2011-12-15 21:03:02 +01:00
Gregs Gregs b911442003 fsck: Fix typo in comment 2011-12-15 18:48:15 +01:00
Kay Sievers 1f7d0a68ea configure: fix typo
<mgorny> kay: btw you've got         sbindir:                ${bindir}
<mgorny> in configure check result printing
<mgorny> I think that's a typo
<kay> oh
2011-12-14 23:29:48 +01:00
Lennart Poettering c77b7f7f82 update TODO 2011-12-14 17:12:26 +01:00
Michal Schmidt ce9593140b pam-module: add a couple of debugging prints 2011-12-14 01:25:47 +01:00
Michal Schmidt cd0504d0a1 unit: check for unneeded dependencies even when unit stop was expected
systemd did not stop units marked as "StopWhenUnneeded=yes" when the requiring
unit was stopped on user's request.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=704197
2011-12-09 15:25:29 +01:00
Michal Schmidt f60c2665f9 unit: fix false positive in check for unneeded unit
A freshly started unit A was immediately considered unneeded just because
unit B, which Requires A, was starting later in the transaction.
Fix it by looking not only at the state of B, but also at its pending job.

Also fix a copied&pasted comment.
2011-12-09 15:24:04 +01:00
Michal Schmidt 714d943f72 path: add missing pieces for PathModified
PATH_MODIFIED worked internally for PID files detection, but was unusable
in units.
2011-12-08 18:45:38 +01:00
Tim Waugh 7e115808a9 '@' is an 'ampersat' not an 'ampersand'; let's call it 'at symbol' 2011-12-08 17:32:09 +01:00
Michal Schmidt f7b9e331ed systemctl: print 'error' load state in red
Be consistent in coloring of load states in list-units and status.
Print only 'error' in red.
There are no 'banned' or 'failed' states. Do not color 'masked', it's
not an error.
2011-12-06 01:30:16 +01:00
Michal Schmidt 9a46fc3b90 unit: garbage collect units with load error
Units that failed to load were never cleaned up. It was possible to
reach the 128K limit of units by attempting to load a bunch of nonsense.

Bug observed by Reartes Guillermo in
https://bugzilla.redhat.com/show_bug.cgi?id=680122
2011-12-06 00:52:37 +01:00
Bill Nottingham d380a3bcd1 Allow 'list-unit-files' to run with --root.
To do so, move the check for the bus to the bus-using portion of
list_unit_files(), and ensure that get_config_path doesn't abort when
checking the runtime path with --root.
2011-12-05 22:04:42 +01:00
Kay Sievers 12a362be5c use libexecdir, bindir, sbindir, switch to /usr/lib/udev in documentation 2011-12-05 17:23:56 +01:00
Kay Sievers c096407caa systemd: use PassCred=yes 2011-12-05 17:23:56 +01:00
Kay Sievers 48b14aa053 rename 'init' directory to 'systemd' 2011-12-05 17:23:56 +01:00