1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-06 16:59:03 +03:00
Commit Graph

3252 Commits

Author SHA1 Message Date
Kay Sievers
d4a66a7f96 libsystemd-id128: restructure Makefile.am 2011-12-31 08:53:06 +01:00
Kay Sievers
7e8f489ad5 journal: restructure Makefile.am 2011-12-31 08:36:52 +01:00
Kay Sievers
609518c1d2 binfmt: move sources to subdirectory 2011-12-31 07:40:31 +01:00
Kay Sievers
681cfc6c40 hostnamed, localed: move config files to subdir 2011-12-31 07:23:57 +01:00
Kay Sievers
00c36f274b hostnamed: move sources to subdirectory 2011-12-31 07:03:33 +01:00
Kay Sievers
1822350db1 localed: move sources to subdirectory 2011-12-31 06:50:34 +01:00
Kay Sievers
4668191d02 timedated: move sources to subdirectory 2011-12-31 06:40:48 +01:00
Kay Sievers
2a018e83de build-sys: restructure logind parts in Makefile.am and add --disable-logind 2011-12-31 06:02:42 +01:00
Kay Sievers
d85eed7301 logind: fix POTFILES location 2011-12-31 04:36:02 +01:00
Kay Sievers
0392060111 logind: add 'login' subdir to include dirs
When separate 'builddirs', like with 'distcheck', are used, the generated
sources, like the '.c' files from 'gperf', are placed in the 'builddir' and
can not find the include headers in 'srcdir'.
2011-12-31 04:20:25 +01:00
Kay Sievers
baa5ad26fd Makefile.am: consistently use tabs 2011-12-31 03:59:54 +01:00
Kay Sievers
6c8a39b883 journal: silence gcc warnings 2011-12-31 03:55:35 +01:00
Lennart Poettering
c0f99c21f4 util: fix warning 2011-12-31 03:35:45 +01:00
Lennart Poettering
e81e801af6 journal: move symver file into subdirectory 2011-12-31 03:35:38 +01:00
Lennart Poettering
4deba28559 logind: move more files into subdirectory 2011-12-31 03:24:31 +01:00
Lennart Poettering
4bba9156da logind: move logind into its own subdirectory 2011-12-31 03:16:08 +01:00
Lennart Poettering
fc5e60ee0c git: update gitignore 2011-12-31 03:02:57 +01:00
Lennart Poettering
babfc09177 journal: automatically deduce journal metrics from file system sizes 2011-12-31 02:31:54 +01:00
Lennart Poettering
3a22a969c5 kmsg: drop unused variable 2011-12-31 01:08:06 +01:00
Lennart Poettering
271b032a05 socket: rename the PassCred= option to PassCredentials=, since we don't want to needlessly abbreviate options unless they are very well established 2011-12-31 01:07:49 +01:00
Lennart Poettering
dc1ecd78e9 Merge branch 'journal' 2011-12-31 00:59:37 +01:00
Lennart Poettering
74ef2d16ad journal: move max_use into metrics structure 2011-12-31 00:57:14 +01:00
Lennart Poettering
b3a0ad5ab1 journal: disable default debug logging 2011-12-30 22:29:23 +01:00
Lennart Poettering
783d2675ef journal: fix a few bad memory accesses and leaks 2011-12-30 22:16:04 +01:00
Lennart Poettering
8b18eb674c journald: forward all syslog messages to syslogd 2011-12-30 19:05:43 +01:00
Lennart Poettering
4b2d99d9f4 journal: add unit files and shared library glue 2011-12-30 17:50:37 +01:00
Lennart Poettering
f39e126e99 journald: add missing header 2011-12-30 16:01:33 +01:00
Lennart Poettering
adb2ce5f69 remount-api-vfs: handle another OOM condition 2011-12-30 15:34:21 +01:00
Lennart Poettering
54a7b863dd journald: don't recheck /var availability more often than 30s 2011-12-29 15:25:42 +01:00
Lennart Poettering
cf244689e9 journald: flush /run to /var as soon as it becomes available 2011-12-29 15:00:57 +01:00
Lennart Poettering
de97b26ac5 journald: increase rate limit burst rate 2011-12-29 15:00:05 +01:00
Kay Sievers
69b1c67463 update TODO 2011-12-29 14:09:04 +01:00
Lennart Poettering
2a59ea54f1 journal: never mmap beyond file size 2011-12-28 01:53:06 +01:00
Lennart Poettering
9cfb57c989 journald: when checking available disk space for rate limiting, cache the results temporarily 2011-12-27 23:18:09 +01:00
Lennart Poettering
85a131e8d8 journal: fix hash table lookup logic 2011-12-27 22:58:20 +01:00
Lennart Poettering
24b51289e3 journal: fix typo 2011-12-27 22:52:22 +01:00
Lennart Poettering
3306729574 udev: exclude loopback device from udev rule based sysctl application, since we can just apply that directly at boot 2011-12-27 22:52:15 +01:00
Lennart Poettering
6e409ce10d journald: implement sophisticated rate limiting 2011-12-27 22:51:46 +01:00
Lennart Poettering
fe6521272b journal: implement stdout transport 2011-12-23 20:50:48 +01:00
Lennart Poettering
6ad1d1c306 journald: enforce some syntax restrictions on field names sent from the client side 2011-12-22 00:35:04 +01:00
Lennart Poettering
440ee3665e journal: properly handle first inline bisect array entry 2011-12-21 22:32:52 +01:00
Lennart Poettering
e4e61fdbed journal: add missing compress.[ch] 2011-12-21 19:00:10 +01:00
Lennart Poettering
0d43c6944b journalctl: add command line parsing 2011-12-21 18:59:56 +01:00
Lennart Poettering
72f597065c journalctl: add json, export, short and verbose output modes 2011-12-21 18:17:22 +01:00
Lennart Poettering
807e17f05e journal: add inline compression support with XZ 2011-12-21 02:40:59 +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