chiark / gitweb /
Lennart Poettering [Fri, 3 Feb 2012 03:47:32 +0000 (04:47 +0100)]
swap: replace failure boolean by result enum
Lennart Poettering [Fri, 3 Feb 2012 03:03:21 +0000 (04:03 +0100)]
timer: convert failure bool into enum
Lennart Poettering [Fri, 3 Feb 2012 02:27:25 +0000 (03:27 +0100)]
automount: convert failure boolean to enum
Lennart Poettering [Fri, 3 Feb 2012 02:10:56 +0000 (03:10 +0100)]
mount: replace failure boolean by enum
Lennart Poettering [Fri, 3 Feb 2012 01:31:54 +0000 (02:31 +0100)]
socket: replace failure boolean by enum
Lennart Poettering [Fri, 3 Feb 2012 01:01:35 +0000 (02:01 +0100)]
service: replace "failure" boolean by enum, and export it
This should give admins more useful hints why a service failed.
Lennart Poettering [Thu, 2 Feb 2012 01:21:59 +0000 (02:21 +0100)]
update TODO
Chris Paulson-Ellis [Thu, 2 Feb 2012 17:32:05 +0000 (17:32 +0000)]
util: prevent daemon-reload from reaping service processes.
The reaping of generator processes run as part of a daemon-reload should not
call waitid(PID_ALL). The waitid() call in execute_directory() is intended only
to reap the executed processes, but if a service process exits at about the
same time as a daemon-reload, then that service process is reaped as well,
preventing it from being reaped in the proper place in
manager_dispatch_sigchld().
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=43625
Alvaro Soliverez [Mon, 7 Nov 2011 18:10:25 +0000 (15:10 -0300)]
sd-daemon: support for building sd-daemon.c with Bionic (Android)
sd-daemon.h is a drop-in file, so we should make sure it doesn't break
builds for anybody.
https://bugs.freedesktop.org/show_bug.cgi?id=42675
Michal Schmidt [Thu, 2 Feb 2012 11:39:33 +0000 (12:39 +0100)]
manager: tell correctly if the manager is booting
The assumption that the initial job is the job with id==1 is incorrect.
Some jobs may be enqueued before the job that starts the default unit as
in this example:
-.mount changed dead -> mounted
Trying to enqueue job quotacheck.service/start/fail
Installed new job quotacheck.service/start as 1
Installed new job systemd-stdout-syslog-bridge.socket/start as 2
Enqueued job quotacheck.service/start as 1
Trying to enqueue job quotaon.service/start/fail
Installed new job quotaon.service/start as 5
Enqueued job quotaon.service/start as 5
Activating default unit: default.target
Trying to enqueue job graphical.target/start/replace
This fixes a bug where displaying of boot status messages was turned off
too early.
Lennart Poettering [Thu, 2 Feb 2012 05:21:31 +0000 (06:21 +0100)]
man: document that we support tcpwrappers only for access control
We do not support, and explicitly never want to support environment
variable settings and suchlike in tcpwrappers.
https://bugs.freedesktop.org/show_bug.cgi?id=45143
Lennart Poettering [Thu, 2 Feb 2012 00:22:49 +0000 (01:22 +0100)]
coredump: avoid coredump loops, divert coredump if journald itself is crashing
Lennart Poettering [Wed, 1 Feb 2012 21:33:15 +0000 (22:33 +0100)]
exec: include path name of binary we are about to execute when renaming forked off processes
Immediately after forking off a process change the comm name and argv[0]
to "(foobar)" where "foobar" is the basename of the path we are about to
execute.
This should be useful when charting boot progress.
Michael Olbrich [Wed, 1 Feb 2012 16:17:12 +0000 (17:17 +0100)]
service: add watchdog timestamp
This patch adds WatchdogTimestamp[Monotonic] to the systemd service
D-Bus API. The timestamp is updated to the current time when the
service calls 'sd_nofity("WATCHDOG=1\n")'.
Using a timestamp instead of an 'alive' flag has two advantages:
1. No timeout is needed to define when a service is no longer alive.
This simplifies both configuration (no timeout value) and
implementation (no timeout event).
2. It is more robust. A 'dead' service might not be detected should
systemd 'forget' to reset an 'alive' flag. It is much less likely
to get a valid new timestamp if a service died.
Lennart Poettering [Wed, 1 Feb 2012 18:04:54 +0000 (19:04 +0100)]
logind: add GetSessionByPID() bus call
Michal Schmidt [Tue, 31 Jan 2012 22:58:15 +0000 (23:58 +0100)]
socket: typo in dump output
Lennart Poettering [Tue, 31 Jan 2012 22:51:16 +0000 (23:51 +0100)]
logind: if we have to stop a session, kill at least its leader
Lennart Poettering [Tue, 31 Jan 2012 22:13:16 +0000 (23:13 +0100)]
update TODO
Lennart Poettering [Tue, 31 Jan 2012 19:53:34 +0000 (20:53 +0100)]
load-fragment: properly parse size values denoted in bytes
Lennart Poettering [Tue, 31 Jan 2012 19:35:07 +0000 (20:35 +0100)]
journal: increase compression threshold for objects from 64 to 512
Apparently the perfomance price for compression is to steep to apply it
for all objects >= 64 and < 512 in size, as measured by Arjan Van De
Ven, hence increase the threshold to 512 which yields better results.
Ray Strode [Tue, 31 Jan 2012 18:47:12 +0000 (13:47 -0500)]
login: lock down input devices on extra seats
We need to tell the X server to grab the keyboards
and mice associated with a hotplugged seat, so that
it doesn't have the ability to control the kernel
vt consoles.
Lennart Poettering [Tue, 31 Jan 2012 17:23:23 +0000 (18:23 +0100)]
update TODO
Kay Sievers [Mon, 30 Jan 2012 15:32:18 +0000 (16:32 +0100)]
pkg-config: rootlibexecdir -> systemdutildir
Better don't export historic names for split / vs. /usr filesysystems.
Michal Schmidt [Sun, 29 Jan 2012 20:55:51 +0000 (21:55 +0100)]
main: don't force text mode in console_setup()
When systemd starts, plymouth may be already displaying progress
graphically. Do not switch the console to text mode at that time.
All other users of reset_terminal_fd() do the switch as before.
This avoids a graphical glitch with plymouth, especially visible with
vesafb, but could be also seen as a sub-second blink with radeon.
https://bugzilla.redhat.com/show_bug.cgi?id=785548
Mike Kazantsev [Fri, 27 Jan 2012 20:13:42 +0000 (21:13 +0100)]
logind: add sys_tty_config capability, to let it use VT_ACTIVATE ioctl on "activate" action
Lennart Poettering [Fri, 27 Jan 2012 19:48:28 +0000 (20:48 +0100)]
logind: make sure we create /var/lib/systemd before using it
Mike Kazantsev [Fri, 27 Jan 2012 18:56:44 +0000 (19:56 +0100)]
build-sys: add creation of /var/lib/systemd path, used by logind
Lennart Poettering [Fri, 27 Jan 2012 18:06:34 +0000 (19:06 +0100)]
pkg-config: export libexecdir, so that that gdm can use it to find the x server wrapper
Lennart Poettering [Fri, 27 Jan 2012 17:58:02 +0000 (18:58 +0100)]
socket: if SO_RCVBUFFORCE fails, fall back to SO_RCVBUF, to have at least a little effect
Lennart Poettering [Fri, 27 Jan 2012 17:57:37 +0000 (18:57 +0100)]
log: increase socket buffers for logging by default
Lennart Poettering [Fri, 27 Jan 2012 17:14:06 +0000 (18:14 +0100)]
log: never delay logging if the log server is stuck, always drop messages quickly
Michal Schmidt [Thu, 26 Jan 2012 00:19:19 +0000 (01:19 +0100)]
mount: fix automount regression
Tom Gundersen noticed a regression where comment=systemd.automount in
fstab no longer prevented the adding of the After=foo.mount dependency
into local-fs.target. He bisected it to commit
9ddc4a26.
It turns out that clearing the default_dependencies flag is necessary
after all, in order to avoid complementing of Wants= with After= in the
target unit. We still want to add the dependencies on quota units and
umount.target though.
Lennart Poettering [Wed, 25 Jan 2012 01:20:38 +0000 (02:20 +0100)]
README: update header line
Lennart Poettering [Wed, 25 Jan 2012 00:12:23 +0000 (01:12 +0100)]
build-sys: enable automake's check-news option
Lennart Poettering [Wed, 25 Jan 2012 00:07:31 +0000 (01:07 +0100)]
build-sys: bump release
Lennart Poettering [Wed, 25 Jan 2012 00:02:41 +0000 (01:02 +0100)]
build-sys: include NEWS file for v38, v39
Lennart Poettering [Tue, 24 Jan 2012 23:13:05 +0000 (00:13 +0100)]
virt: detect LXC+libvirt containers
Lennart Poettering [Tue, 24 Jan 2012 23:12:47 +0000 (00:12 +0100)]
man: document systemd-cgtop tool
Lennart Poettering [Tue, 24 Jan 2012 04:15:04 +0000 (05:15 +0100)]
login: fix multi-seat check
Lennart Poettering [Tue, 24 Jan 2012 03:32:09 +0000 (04:32 +0100)]
login: extend comments in multi-seat-x
Lennart Poettering [Mon, 23 Jan 2012 22:34:36 +0000 (23:34 +0100)]
login: add multi-session X wrapper
In preparation for https://bugzilla.gnome.org/show_bug.cgi?id=655380 we
decided it's better to include the multi-seat X wrapper in systemd,
rather than gdm. (Side effect: this makes this accessible for other
DMs)
This is a stop-gap for now, until X gins proper multi-seat graphics
support at which point this code will go away without replacement.
Lennart Poettering [Mon, 23 Jan 2012 21:03:32 +0000 (22:03 +0100)]
update TODO
Lennart Poettering [Mon, 23 Jan 2012 21:02:43 +0000 (22:02 +0100)]
update TODO
Lennart Poettering [Mon, 23 Jan 2012 21:01:29 +0000 (22:01 +0100)]
journal: move journal TODO into main TODO
Lennart Poettering [Mon, 23 Jan 2012 20:56:55 +0000 (21:56 +0100)]
util: use /dev/rtc symlink if possible before we go searching for a suitable device
Kay Sievers [Mon, 23 Jan 2012 03:42:11 +0000 (04:42 +0100)]
add .vimrc
Kay Sievers [Sun, 22 Jan 2012 17:40:13 +0000 (18:40 +0100)]
README: fix git URLs
Kay Sievers [Sun, 22 Jan 2012 17:20:42 +0000 (18:20 +0100)]
login: move seat udev rules to login subdir
Lennart Poettering [Sun, 22 Jan 2012 17:21:15 +0000 (18:21 +0100)]
cgtop: add new cgtop tool
Lennart Poettering [Sun, 22 Jan 2012 17:19:24 +0000 (18:19 +0100)]
tmpfiles: fix bad memory access
Lennart Poettering [Sun, 22 Jan 2012 17:18:51 +0000 (18:18 +0100)]
cgls: don't show kernel threads by default
Dan Horák [Thu, 19 Jan 2012 11:42:53 +0000 (12:42 +0100)]
journal: systemd v38 fails to build on big-endians
Hi,
during the builds for Fedora/s390x I've found that systemd v38 fails to
build on big-endian platforms.
...
make[2]: Entering directory `/root/systemd'
CC src/journal/libsystemd_journal_la-sd-journal.lo
src/journal/sd-journal.c: In function 'init_location':
src/journal/sd-journal.c:69:22: error: incompatible types when
initializing type 'long unsigned int' using type 'sd_id128_t'
src/journal/sd-journal.c:69:20: error: incompatible types when assigning
to type 'sd_id128_t' from type 'long unsigned int'
make[2]: *** [src/journal/libsystemd_journal_la-sd-journal.lo] Error 1
I see the problem in using le64toh() on the 16 bytes boot_id structure
in init_location()
Please see
http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=544375 for a
full build log and attachment for a proposed fix.
With regards
Dan
Lennart Poettering [Sat, 21 Jan 2012 02:44:11 +0000 (03:44 +0100)]
systemctl: don't show ln -s/rm output in 'install' mode if --quiet is passed
Lennart Poettering [Sat, 21 Jan 2012 02:15:54 +0000 (03:15 +0100)]
util: open the first RTC that has hctosys=1 set
Lennart Poettering [Sat, 21 Jan 2012 01:51:13 +0000 (02:51 +0100)]
readahead: don't monopolize IO when replaying
Lennart Poettering [Sat, 21 Jan 2012 00:47:53 +0000 (01:47 +0100)]
dbus: export ControlGroupPersistent field on the bus again
Kay Sievers [Sat, 21 Jan 2012 00:19:57 +0000 (01:19 +0100)]
update TODO
Michal Schmidt [Fri, 20 Jan 2012 22:44:22 +0000 (23:44 +0100)]
socket: don't fail the socket on ENOTCONN
Albert Strasheim reported a socket unit with Accept=yes was failing
sometimes.
getpeername() returns ENOTCONN if the connection was killed by TCP RST.
The socket unit must not fail when it happens.
Reproducer available at:
https://bugzilla.redhat.com/show_bug.cgi?id=783344
Michal Schmidt [Fri, 20 Jan 2012 02:03:25 +0000 (03:03 +0100)]
dbus-execute: don't publish control_group_persistent on DBus for now
Since the addition of ControlGroupPersistent, systemd is trivially
killed by "systemctl status any.service".
bus_property_append_bool must not be used for a tri-state int.
Also, should it really "b", or do we want the tri-state nature to be seen?
For now just comment out the buggy DBus property.
Michal Schmidt [Thu, 19 Jan 2012 22:58:07 +0000 (23:58 +0100)]
service: add missing pid file unwatch in the destructor
The pid file watch could outlive the service unit if a daemon-reload
request came at the right time. The inotify event would then be
delivered to who knows where.
Fix it by unwatching in the service destructor.
Further changes will be needed to preserve the state of the pid file
watch across daemon-reload. For now let's just fix the crash observed
by Jóhann Guðmundsson:
Assertion 's->state == SERVICE_START || s->state == SERVICE_START_POST'
failed at src/service.c:2609, function service_fd_event(). Aborting
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=783118
Michal Schmidt [Thu, 19 Jan 2012 12:00:34 +0000 (13:00 +0100)]
log: move #pragma around the function
Koen reported errors with gcc 4.5.4 for arm:
src/log.c:624:9: error: #pragma GCC diagnostic not allowed inside
functions
Kay Sievers [Wed, 18 Jan 2012 20:47:30 +0000 (21:47 +0100)]
persistant -> persistent
Lennart Poettering [Wed, 18 Jan 2012 15:39:04 +0000 (16:39 +0100)]
tmpfiles: support writing short strings to files, in order to support /sys manipulations at boot time, a la sysctl
Lennart Poettering [Wed, 18 Jan 2012 14:41:21 +0000 (15:41 +0100)]
manager: don't place units in the 'cpu' group when run as user instance, for now
Lennart Poettering [Wed, 18 Jan 2012 14:40:58 +0000 (15:40 +0100)]
journal: when sending journal data via file, place it in /dev/shm, to allow early boot operation, even if it sucks
Lennart Poettering [Wed, 18 Jan 2012 14:40:21 +0000 (15:40 +0100)]
exec: introduce ControlGroupPersistant= to make cgroups persistant
Lennart Poettering [Tue, 17 Jan 2012 14:21:40 +0000 (15:21 +0100)]
journalctl: properly honour -n when -f is passed, too
Lennart Poettering [Tue, 17 Jan 2012 14:04:12 +0000 (15:04 +0100)]
tmpfiles: add support for creating symlinks, char/block device nodes
Lennart Poettering [Tue, 17 Jan 2012 13:03:00 +0000 (14:03 +0100)]
logind: move X11 socket
Lennart Poettering [Tue, 17 Jan 2012 13:02:47 +0000 (14:02 +0100)]
logind: simplify session_activate() a bit
Lennart Poettering [Tue, 17 Jan 2012 13:02:09 +0000 (14:02 +0100)]
logind: allow to create multiple sessions on non-multi-session seats to deal with left-over sessions
Lennart Poettering [Tue, 17 Jan 2012 12:30:58 +0000 (13:30 +0100)]
update TODO
Michal Schmidt [Tue, 17 Jan 2012 11:50:42 +0000 (12:50 +0100)]
util: fix ANSI sequence for red color
Red turned green by mistake in commit
c1072ea0.
Michal Schmidt [Tue, 17 Jan 2012 11:05:33 +0000 (12:05 +0100)]
log: make asserts cheaper
On my x86_64 this shrinks the size of .text by 53 KB (7 %).
Michal Schmidt [Tue, 17 Jan 2012 09:21:30 +0000 (10:21 +0100)]
log: remove useless variable
abort() never returns. Not even if the signal handler catches SIGABRT.
Michal Schmidt [Tue, 17 Jan 2012 08:20:32 +0000 (09:20 +0100)]
dbus-unit: make functions static
The dbus_unit_append_*() functions are not referenced from outside anymore.
Kay Sievers [Mon, 16 Jan 2012 12:49:08 +0000 (13:49 +0100)]
build-sys: cleanup sysctl.d/coredump.conf
Michal Schmidt [Sun, 15 Jan 2012 23:23:59 +0000 (00:23 +0100)]
dbus: more efficient implementation of properties
The way the various properties[] arrays are initialized is inefficient:
- only the .data members change at runtime, yet the whole arrays of
properties with all the fields are constructed on the stack one by
one by the code.
- there's duplication, eg. the properties of "org.freedesktop.systemd1.Unit"
are repeated in several unit types.
Fix it by moving the information about properties into static const
sections. Instead of storing the .data directly in the property, store
a constant offset from a run-time base.
The small arrays of struct BusBoundProperties bind together the constant
information with the right runtime information (the base pointer).
On my system the code shrinks by 60 KB, data increases by 10 KB.
Michal Schmidt [Sun, 15 Jan 2012 11:37:16 +0000 (12:37 +0100)]
unit: use safe downcasts, remove pointless casts
Always use the macros for downcasting.
Remove a few obviously pointless casts.
Michal Schmidt [Sun, 15 Jan 2012 11:25:20 +0000 (12:25 +0100)]
unit: use the UNIT() macro consistently
The UNIT() macro upcasts from specific unit types to the base Unit.
Use it everywhere, rather than accessing the 'meta' member directly.
Michal Schmidt [Sun, 15 Jan 2012 11:04:08 +0000 (12:04 +0100)]
unit: remove union Unit
Now that objects of all unit types are allocated the exact amount of
memory they need, the Unit union has lost its purpose. Remove it.
"Unit" is a more natural name for the base unit class than "Meta", so
rename Meta to Unit.
Access to members of the base class gets simplified.
Michal Schmidt [Sun, 15 Jan 2012 09:53:49 +0000 (10:53 +0100)]
unit: reduce heap usage for unit objects
The storage of the unit objects on the heap is currently not very
efficient. For every unit object we allocate a chunk of memory as large
as the biggest unit type, although there are significant differences in
the units' real requirements.
pahole shows the following sizes of structs:
488 Target
496 Snapshot
512 Device
528 Path
560 Timer
576 Automount
1080 Socket
1160 Swap
1168 Service
1280 Mount
Usually there aren't many targets or snapshots in the system, but Device
is one of the most common unit types and for every one we waste
1280 - 512 = 768 bytes.
Fix it by allocating only the right amount for the given unit type.
On my machine (x86_64, with 39 LVM volumes) this decreases systemd's
USS (unique set size) by more than 300 KB.
Michal Schmidt [Mon, 16 Jan 2012 12:18:17 +0000 (13:18 +0100)]
logind: downgrade login message to debug
The messages make people nervous.
https://bugzilla.redhat.com/show_bug.cgi?id=727315
Lennart Poettering [Sat, 14 Jan 2012 02:37:32 +0000 (03:37 +0100)]
journal: drop privileges when storing coredump
Lennart Poettering [Sat, 14 Jan 2012 02:07:47 +0000 (03:07 +0100)]
journal: when show blob data show length
Lennart Poettering [Sat, 14 Jan 2012 02:07:29 +0000 (03:07 +0100)]
util: support formatting eta and peta bytes with format_bytes()
Lennart Poettering [Sat, 14 Jan 2012 02:06:57 +0000 (03:06 +0100)]
util: introduce FORMAT_BYTES_MAX
Lennart Poettering [Sat, 14 Jan 2012 02:05:34 +0000 (03:05 +0100)]
journal: collect coredump up to 24M in size
Lennart Poettering [Sat, 14 Jan 2012 00:54:02 +0000 (01:54 +0100)]
journal: handle empty syslog identifier properly
Lennart Poettering [Sat, 14 Jan 2012 00:53:47 +0000 (01:53 +0100)]
journal: fix bad memory access
Lennart Poettering [Sat, 14 Jan 2012 00:53:20 +0000 (01:53 +0100)]
journal: if the data to be sent is larger than the maximum datagram size resort to passing a temporary fd over native protocol
Lennart Poettering [Fri, 13 Jan 2012 23:37:35 +0000 (00:37 +0100)]
journal: hook up coredumping with journal
Lennart Poettering [Fri, 13 Jan 2012 22:17:54 +0000 (23:17 +0100)]
journal: add new system-cat tool as kind of a more powerfull BSD logger
Lennart Poettering [Fri, 13 Jan 2012 20:56:28 +0000 (21:56 +0100)]
util: split out tty_is_vc_resolve() from default_term_for_tty()
Lennart Poettering [Fri, 13 Jan 2012 20:56:09 +0000 (21:56 +0100)]
util: rework ANSI escape code macros
Michal Schmidt [Fri, 13 Jan 2012 22:55:28 +0000 (23:55 +0100)]
mount: fix quota
quotacheck.service and quotaon.service were not pulled in for fstab mounts.
Fix it by not clearing the default_dependencies flag.
The root filesystem may have quotas too, so don't check for "/" there.
No need to have duplicate code for adding dependencies on umount.target.
https://bugzilla.redhat.com/show_bug.cgi?id=773431
Lennart Poettering [Fri, 13 Jan 2012 19:52:45 +0000 (20:52 +0100)]
pam: fix build
Lennart Poettering [Fri, 13 Jan 2012 19:51:58 +0000 (20:51 +0100)]
pam: work correctly if a seat is specified but not vtnr
Lennart Poettering [Fri, 13 Jan 2012 01:58:45 +0000 (02:58 +0100)]
journal: add output mode that just prints simple messages without any decorations
Lennart Poettering [Thu, 12 Jan 2012 23:49:21 +0000 (00:49 +0100)]
api: add C++ guards to all headers