chiark / gitweb /
elogind.git
7 years agounits: add default units for system.slice, user.slice, machine.slice
Lennart Poettering [Mon, 17 Jun 2013 22:59:54 +0000 (00:59 +0200)]
units: add default units for system.slice, user.slice, machine.slice

7 years agocore: add new .slice unit type for partitioning systems
Lennart Poettering [Mon, 17 Jun 2013 19:33:26 +0000 (21:33 +0200)]
core: add new .slice unit type for partitioning systems

In order to prepare for the kernel cgroup rework, let's introduce a new
unit type to systemd, the "slice". Slices can be arranged in a tree and
are useful to partition resources freely and hierarchally by the user.

Each service unit can now be assigned to one of these slices, and later
on login users and machines may too.

Slices translate pretty directly to the cgroup hierarchy, and the
various objects can be assigned to any of the slices in the tree.

7 years agorules: only run systemd-sysctl when a network device is added
Ross Lagerwall [Thu, 13 Jun 2013 09:45:12 +0000 (10:45 +0100)]
rules: only run systemd-sysctl when a network device is added

Otherwise, when a network device is renamed, systemd-sysctl is run twice
with the same network device name: once for ACTION="add" and once for
ACTION="move".

7 years agomount: when learning about the root mount from mountinfo, don't add conflicting dep...
Lennart Poettering [Mon, 17 Jun 2013 19:12:53 +0000 (21:12 +0200)]
mount: when learning about the root mount from mountinfo, don't add conflicting dep for umount.target

That way systemd won't try to umount it at shutdown.

7 years agorpm: define a %_userunitdir macro
Lennart Poettering [Mon, 17 Jun 2013 16:37:07 +0000 (18:37 +0200)]
rpm: define a %_userunitdir macro

7 years agojournalctl,loginctl,systemctl,systemd-cgls: add -l as alias for --full
Daniel Albers [Mon, 17 Jun 2013 09:36:35 +0000 (11:36 +0200)]
journalctl,loginctl,systemctl,systemd-cgls: add -l as alias for --full

https://bugs.freedesktop.org/show_bug.cgi?id=65850

7 years agoman: update systemd-analyze invocation
Zbigniew Jędrzejewski-Szmek [Fri, 14 Jun 2013 12:53:15 +0000 (08:53 -0400)]
man: update systemd-analyze invocation

7 years agosystemd-analyze: Show critical chains for listed units
Gabriel de Perthuis [Tue, 11 Jun 2013 20:29:32 +0000 (22:29 +0200)]
systemd-analyze: Show critical chains for listed units

7 years agoman: improve readability of "_TRANSPORT=" section in systemd.journal-fields(7)
Jason St. John [Wed, 12 Jun 2013 17:45:14 +0000 (19:45 +0200)]
man: improve readability of "_TRANSPORT=" section in systemd.journal-fields(7)

The list and descriptions of valid transports was difficult to read, so
break the long sentence up into discrete man page list items to improve
readability.

7 years agoman: add sd_j_open_files to return values section
Zbigniew Jędrzejewski-Szmek [Fri, 14 Jun 2013 03:32:15 +0000 (23:32 -0400)]
man: add sd_j_open_files to return values section

7 years agojournald: do not calculate free space too early
Zbigniew Jędrzejewski-Szmek [Fri, 14 Jun 2013 03:32:14 +0000 (23:32 -0400)]
journald: do not calculate free space too early

Since the system journal wasn't open yet, available_space() returned 0.

Before:
systemd-journal[22170]: Allowing system journal files to grow to 4.0G.
systemd-journal[22170]: Journal size currently limited to 0B due to SystemKeepFree.

After:
systemd-journal[22178]: Allowing system journal files to grow to 4.0G.
systemd-journal[22178]: Journal size currently limited to 3.0G due to SystemKeepFree.

Also, when failing to write a message, show how much space was needed:
"Failed to write entry (26 items, 260123456 bytes) despite vacuuming, ignoring: ...".

7 years agojournal: use initialization instead of zeroing
Zbigniew Jędrzejewski-Szmek [Fri, 14 Jun 2013 03:32:14 +0000 (23:32 -0400)]
journal: use initialization instead of zeroing

7 years agobuild-sys: add 'man' target
Zbigniew Jędrzejewski-Szmek [Wed, 12 Jun 2013 17:40:54 +0000 (13:40 -0400)]
build-sys: add 'man' target

Useful when working just on the documentation.

7 years agogitignore: Add test-journal-interleaving
Jan Janssen [Wed, 12 Jun 2013 11:05:15 +0000 (13:05 +0200)]
gitignore: Add test-journal-interleaving

7 years agobuild-sys: don't install quotaon.service twice
Ross Burton [Tue, 11 Jun 2013 16:16:37 +0000 (17:16 +0100)]
build-sys: don't install quotaon.service twice

quotaon.service is already installed through dist_systemunit_DATA, so it doesn't
need to be added to nodist_systemunit_DATA.  Installing the same file twice
results in a race condition where the install process can fail.

https://bugs.freedesktop.org/show_bug.cgi?id=65659

[zj: actually remove quotaon.service from the other list.]

7 years agobootchart: fix typos in copyright notices
Jason St. John [Tue, 11 Jun 2013 16:26:03 +0000 (18:26 +0200)]
bootchart: fix typos in copyright notices

"Corporation" was misspelled as "Coproration"

7 years agoupdate TODO
Lennart Poettering [Tue, 11 Jun 2013 06:55:42 +0000 (08:55 +0200)]
update TODO

7 years agojournald: do not overwrite syslog facility when parsing priority
Zbigniew Jędrzejewski-Szmek [Mon, 10 Jun 2013 22:10:12 +0000 (18:10 -0400)]
journald: do not overwrite syslog facility when parsing priority

https://bugs.freedesktop.org/show_bug.cgi?id=65610

7 years agobuild-sys: remove SD_JOURNAL_SYSTEM_ONLY(3) from Makefile
Zbigniew Jędrzejewski-Szmek [Mon, 10 Jun 2013 19:08:02 +0000 (15:08 -0400)]
build-sys: remove SD_JOURNAL_SYSTEM_ONLY(3) from Makefile

7 years agoman: add note that sd_journal_open_files is racy
Zbigniew Jędrzejewski-Szmek [Mon, 10 Jun 2013 14:22:08 +0000 (10:22 -0400)]
man: add note that sd_journal_open_files is racy

7 years agojournal: letting (interleaved) seqnums go
Zbigniew Jędrzejewski-Szmek [Sat, 8 Jun 2013 02:01:03 +0000 (22:01 -0400)]
journal: letting (interleaved) seqnums go

In the following scenario:
  server creates system.journal
  server creates user-1000.journal
both journals share the same seqnum_id.
Then
  server writes to user-1000.journal first,
  and server writes to system.journal a bit later,
and everything is fine.
The server then terminates (crash, reboot, rsyslog testing,
whatever), and user-1000.journal has entries which end with
a lower seqnum than system.journal. Now
  server is restarted
  server opens user-1000.journal and writes entries to it...
BAM! duplicate seqnums for the same seqnum_id.

Now, we usually don't see that happen, because system.journal
is closed last, and opened first. Since usually at least one
message is written during boot and lands in the system.journal,
the seqnum is initialized from it, and is set to a number higher
than than anything found in user journals. Nevertheless, if
system.journal is corrupted and is rotated, it can happen that
an entry is written to the user journal with a seqnum that is
a duplicate with an entry found in the corrupted system.journal~.
When browsing the journal, journalctl can fall into a loop
where it tries to follow the seqnums, and tries to go the
next location by seqnum, and is transported back in time to
to the older duplicate seqnum. There is not way to find
out the maximum seqnum used in a multiple files, without
actually looking at all of them. But we don't want to do
that because it would be slow, and actually it isn't really
possible, because a file might e.g. be temporarily unaccessible.

Fix the problem by using different seqnum series for user
journals. Using the same seqnum series for rotated journals
is still fine, because we know that nothing will write
to the rotated journal anymore.

Likely related:
https://bugs.freedesktop.org/show_bug.cgi?id=64566
https://bugs.freedesktop.org/show_bug.cgi?id=59856
https://bugs.freedesktop.org/show_bug.cgi?id=64296
https://bugs.archlinux.org/task/35581
https://bugzilla.novell.com/show_bug.cgi?id=817778

Possibly related:
https://bugs.freedesktop.org/show_bug.cgi?id=64293

7 years agotests: add testcase for duplicate seqnums
Zbigniew Jędrzejewski-Szmek [Sat, 8 Jun 2013 01:54:20 +0000 (21:54 -0400)]
tests: add testcase for duplicate seqnums

7 years agotests: add testcase for skipping-entries-on-direction-change-bug
Marius Vollmer [Fri, 7 Jun 2013 04:50:21 +0000 (00:50 -0400)]
tests: add testcase for skipping-entries-on-direction-change-bug

This test case failed until a3e6f050de8.

Taken from https://bugs.freedesktop.org/show_bug.cgi?id=65255.

7 years agojournal: change direction tests to use the same convention (cp </> np)
Zbigniew Jędrzejewski-Szmek [Fri, 7 Jun 2013 03:30:46 +0000 (23:30 -0400)]
journal: change direction tests to use the same convention (cp </> np)

The order was different in various places, which makes it harder to
read to code. Also consistently use ternany for all direction checks.

Remove one free(NULL).

7 years agojournal: remember last direction of search and keep offset cache
Zbigniew Jędrzejewski-Szmek [Fri, 7 Jun 2013 02:28:05 +0000 (22:28 -0400)]
journal: remember last direction of search and keep offset cache

The fields in JournalFile are moved around to avoid wasting
7 bytes because of alignment.

7 years agojournalctl: allow the user to specify the file(s) to use
Zbigniew Jędrzejewski-Szmek [Wed, 5 Jun 2013 23:30:17 +0000 (19:30 -0400)]
journalctl: allow the user to specify the file(s) to use

This is useful for debugging and feels pretty natural. For example
answering the question "is this big .journal file worth keeping?"
is made easier.

7 years agojournal: add sd_journal_open_files
Zbigniew Jędrzejewski-Szmek [Wed, 5 Jun 2013 23:39:26 +0000 (19:39 -0400)]
journal: add sd_journal_open_files

This allows the caller to explicitly specify which journal files
should be opened. The same functionality could be achieved before
by creating a directory and playing around with symlinks. It
is useful to debug stuff and explore the journal, and has been
requested before.

Waiting is supported, the journal will notice modifications on
the files supplied when opening the journal, but will not add
any new files.

7 years agotests: add test for empty journal files
Zbigniew Jędrzejewski-Szmek [Wed, 5 Jun 2013 23:17:56 +0000 (19:17 -0400)]
tests: add test for empty journal files

The headers are currently not printed properly: some "(null)"s appear.

7 years agojournalctl: print monotonic timestamp in --header
Zbigniew Jędrzejewski-Szmek [Wed, 5 Jun 2013 23:15:43 +0000 (19:15 -0400)]
journalctl: print monotonic timestamp in --header

7 years agojournalctl: print proper IDs with --header
Zbigniew Jędrzejewski-Szmek [Wed, 5 Jun 2013 22:40:44 +0000 (18:40 -0400)]
journalctl: print proper IDs with --header

The same buffer was used for two different IDs, messing up
the output.

7 years agoUse stdint.h macros instead of casts to print uint64_t values
Zbigniew Jędrzejewski-Szmek [Wed, 5 Jun 2013 22:44:16 +0000 (18:44 -0400)]
Use stdint.h macros instead of casts to print uint64_t values

Casts are visually heavy, and can obscure unwanted truncations.

7 years agoProperly check for overflow in offsets
Zbigniew Jędrzejewski-Szmek [Wed, 5 Jun 2013 23:33:45 +0000 (19:33 -0400)]
Properly check for overflow in offsets

7 years agojournalctl: no color for --reboot-- when not on tty
Zbigniew Jędrzejewski-Szmek [Thu, 6 Jun 2013 00:33:42 +0000 (20:33 -0400)]
journalctl: no color for --reboot-- when not on tty

7 years agojournal: loop less in MATCH_AND_TERM conditionals
Zbigniew Jędrzejewski-Szmek [Wed, 5 Jun 2013 04:56:03 +0000 (00:56 -0400)]
journal: loop less in MATCH_AND_TERM conditionals

AND term usually don't have many subterms (4 seems to be the maximum
sensible number, e.g. _BOOT_ID && _SYSTEMD_UNIT && _PID && MESSAGE_ID).
Nevertheless, the cost of checking each subterm can be relatively
high, especially when the nested terms are compound, and it
makes sense to minimize the number of checks.

Instead of looping to the end and then again over the whole list once
again after at least one term changed the offset, start the loop at
the term which caused the change. This way ½ terms in the AND match
are not checked unnecessarily again.

7 years agojournalctl: add --system/--user flags
Zbigniew Jędrzejewski-Szmek [Tue, 4 Jun 2013 23:33:34 +0000 (19:33 -0400)]
journalctl: add --system/--user flags

--user basically gives messages from your own systemd --user services.
--system basically gives messages from PID 1, kernel, and --system
services. Those two options are not exahustive, because a priviledged
user might be able to see messages from other users, and they will not
be shown with either or both of those flags.

7 years agojournal: add ability to filter by current user
Zbigniew Jędrzejewski-Szmek [Wed, 5 Jun 2013 02:31:05 +0000 (22:31 -0400)]
journal: add ability to filter by current user

This is the just the library part.

SD_JOURNAL_CURRENT_USER flags is added to sd_j_open(), to open
files from current user.

SD_JOURNAL_SYSTEM_ONLY is renamed to SD_JOURNAL_SYSTEM,
and changed to mean to (also) open system files. This way various
flags can be combined, which gives them nicer semantics, especially
if other ones are added later.

Backwards compatibility is kept, because SD_JOURNAL_SYSTEM_ONLY
is equivalent to SD_JOURNAL_SYSTEM if used alone, and before there
we no other flags.

7 years agojournal: simplify match_free_if_empty
Zbigniew Jędrzejewski-Szmek [Sun, 2 Jun 2013 19:00:00 +0000 (15:00 -0400)]
journal: simplify match_free_if_empty

7 years agodev-setup: do not create a dangling /proc/kcore symlink
Zbigniew Jędrzejewski-Szmek [Mon, 10 Jun 2013 12:50:59 +0000 (08:50 -0400)]
dev-setup: do not create a dangling /proc/kcore symlink

https://bugs.freedesktop.org/show_bug.cgi?id=65382
https://bugs.gentoo.org/472060?id=472060

7 years agojournalctl: fix verbose output when no logs are found
Zbigniew Jędrzejewski-Szmek [Mon, 10 Jun 2013 01:50:56 +0000 (21:50 -0400)]
journalctl: fix verbose output when no logs are found

$ journalctl -o verbose _EXE=/quiet/binary -f
-- Logs begin at Sun 2013-03-17 17:28:22 EDT. --
Failed to get realtime timestamp: Cannot assign requested address

JOURNAL_FOREACH_DATA_RETVAL is added, which allows the caller
to get the return value from sd_journal_enumerate_data. I think
we might want to expose this macro like SD_JOURNAL_FOREACH_DATA,
but for now it is in journal-internal.h.

There's a change in behaviour for output_*, not only in
output_verbose, that errors in sd_j_enumerate_data are not silently
ignored anymore.

https://bugs.freedesktop.org/show_bug.cgi?id=56459

7 years agoservice: don't report alien child as alive when it's not
Ross Lagerwall [Sun, 9 Jun 2013 16:28:44 +0000 (17:28 +0100)]
service: don't report alien child as alive when it's not

When a sigchld is received from an alien child, main_pid is set to
0 then service_enter_running calls main_pid_good to check if the
child is running.  This incorrectly returned true because
kill(main_pid, 0) would return >= 0.

This fixes an error where a service would die and the cgroup would
become empty but the service would still report as active (running).

7 years agoAllow for the use of @ in remote host calls
Daniel Wallace [Sun, 9 Jun 2013 20:54:39 +0000 (15:54 -0500)]
Allow for the use of @ in remote host calls

Without this you have to use %40 with the -H flag because dbus doesn't
like the @ sign being unescaped.

7 years agosystemctl: remove extra padding from status output
Zbigniew Jędrzejewski-Szmek [Sun, 9 Jun 2013 18:02:32 +0000 (14:02 -0400)]
systemctl: remove extra padding from status output

In 131601349 'systemctl: align all status fields to common column',
padding was calculated for 'ListenStream: ...', etc. Later on in
45a4f7233 'systemctl: tweak output of Listen: fields a bit' output
was changed to 'Listen: ... (stream)', but calculation didn't change.

Just remove the calculation, since now the result will be always 8,
and it it more important to have everything aligned to the widest
field ("Main-PID"), than to save a few columns, usually at most two
(e.g. "Listen").

Note: strlen is more natural, and is optimized to sizeof even
with -O0.

7 years agologs-show: print multiline messages
Zbigniew Jędrzejewski-Szmek [Wed, 24 Apr 2013 02:40:26 +0000 (22:40 -0400)]
logs-show: print multiline messages

[    0.019862] fedora kernel: CPU0: Thermal monitoring enabled (TM1)
[    0.019900] fedora kernel: Last level iTLB entries: 4KB 512, 2MB 0, 4MB 0
                              Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32
                              tlb_flushall_shift: 5
[    0.020118] fedora kernel: Freeing SMP alternatives: 24k freed

7 years agoupdate TODO
Lennart Poettering [Thu, 6 Jun 2013 14:25:38 +0000 (16:25 +0200)]
update TODO

7 years agocgroup: the "tasks" attribute is obsolete, cgroup.procs is the new replacement
Lennart Poettering [Thu, 6 Jun 2013 13:49:01 +0000 (15:49 +0200)]
cgroup: the "tasks" attribute is obsolete, cgroup.procs is the new replacement

7 years agobuild-sys: we do not support --disable-largefile builds
Lennart Poettering [Thu, 6 Jun 2013 08:38:31 +0000 (10:38 +0200)]
build-sys: we do not support --disable-largefile builds

7 years agobuild-sys: do not allow --enable static
Cristian Rodríguez [Tue, 4 Jun 2013 18:42:56 +0000 (14:42 -0400)]
build-sys: do not allow --enable static

7 years agoservice: execute ExecStopPost= commands when the watchdog timeout hits
Lennart Poettering [Thu, 6 Jun 2013 07:10:12 +0000 (09:10 +0200)]
service: execute ExecStopPost= commands when the watchdog timeout hits

We can assume that a service for which a watchdog timeout was triggered
is unresponsive to a clean shutdown. However, it still makes sense to
execute the post-stop cleanup commands that can be configured with
ExecStopPost=. Hence, when the timeout is hit enter STOP_SIGKILL rather
than FINAL_SIGKILL.

7 years agomanager: Do not handle SIGKILL since we can not
Chengwei Yang [Mon, 20 May 2013 07:22:27 +0000 (15:22 +0800)]
manager: Do not handle SIGKILL since we can not

This is a minor fix because it's not a major issue, this fix just avoid
to get EINVAL error from sigaction(2).

There are two signals can not handled at user space, SIGKILL and
SIGSTOP even we're PID 1, trying to handle these two signals will get
EINVAL error.

There are two kinds of systemd instance, running as system manager or
user session manager, apparently, the latter is a general user space
process which can not handle SIGKILL. The special pid 1 also can not
do that refer to kernel/signal.c:do_sigaction().

However, pid 1 is unkillable because the kernel did attach
SIGNAL_UNKILLABLE to it at system boot up, refer to
init/main.c:start_kernel()
    --> rest_init()
        --> kernel_thread()
            --> kernel_init()
                --> init_post()
                    current->signal->flags |= SIGNAL_UNKILLABLE

7 years agolibsystemd-bus/bus-kernel.h: set MEMFD_MIN_SIZE to 128k
Harald Hoyer [Wed, 5 Jun 2013 10:24:41 +0000 (12:24 +0200)]
libsystemd-bus/bus-kernel.h: set MEMFD_MIN_SIZE to 128k

7 years agotest-bus-kernel-benchmark: corrected output for memfd bisect
Harald Hoyer [Wed, 5 Jun 2013 10:24:17 +0000 (12:24 +0200)]
test-bus-kernel-benchmark: corrected output for memfd bisect

7 years agobus: benchmark - adjust printf and MAX_SIZE
Kay Sievers [Wed, 5 Jun 2013 08:26:00 +0000 (10:26 +0200)]
bus: benchmark - adjust printf and MAX_SIZE

7 years agokeymap: add some more Asus laptop keys
Pierre Neidhardt [Tue, 4 Jun 2013 21:32:33 +0000 (17:32 -0400)]
keymap: add some more Asus laptop keys

With Linux 3.9 (commit a935eaecef2b209ad661dadabb4e32b7c9a9b924), the
Asus keyboard driver has changed to be more compliant to the symbol
signification. This has led to some issues with udev. In particular,
the XF86TouchpadToggle (a Fn key) does not work anymore on Asus X52J.

I found another similar patch which does not seem to have been ever
submitted/merged:

  https://launchpadlibrarian.net/73337842/95-keymap.rules.patch

Find enclosed the patch containing both the launchpad patch and mine
into one file.

https://bugs.freedesktop.org/show_bug.cgi?id=65375

7 years agoman: mention that units are 1024-based
Zbigniew Jędrzejewski-Szmek [Tue, 4 Jun 2013 21:44:23 +0000 (17:44 -0400)]
man: mention that units are 1024-based

7 years agobus: unmap memfd retrieved from the memfd cache
Kay Sievers [Tue, 4 Jun 2013 21:37:57 +0000 (23:37 +0200)]
bus: unmap memfd retrieved from the memfd cache

7 years agobus-benchmark: add performance data output mode
Kay Sievers [Tue, 4 Jun 2013 18:55:00 +0000 (20:55 +0200)]
bus-benchmark: add performance data output mode

  - for now, comment out munmap() check to enable memfd passing
  - print tab-separated values and header
  - add memcpy() to fill the memfd, to produce real-world results

$ ./test-bus-kernel-benchmark
SIZE    COPY    MEMFD
4194304 370     370
2097152 810     810
1048576 2130    2130
524288  4090    4090
262144  7080    7080
131072  11380   11380
65536   17140   17140
98304   13930   13930
114688  12890   12890
122880  12350   12350
126976  12150   12150
129024  12170   12170
130048  12040   12040
130560  12080   12080
130816  12010   12010
130944  12020   12020
131008  12040   12040
131040  12050   12050
131056  12010   12010
131064  12060   12060
131068  12040   12040
131070  11310   11310
131069  11420   11420
Copying/memfd are equally fast at 131068 bytes

$ ./test-bus-kernel-benchmark chart
SIZE    COPY    MEMFD
1       35570   23690
2       36470   23680
4       36160   23520
8       36600   22220
16      33900   20830
32      33990   21360
64      33480   21280
128     34050   20910
256     32950   21750
512     34730   21900
1024    33810   22890
2048    36280   23110
4096    30790   21610
8192    29380   21100
16384   26880   19820
32768   22510   17980
65536   17270   15180
131072  11400   11420
262144  7140    8270
524288  4090    5050
1048576 2110    2780
2097152 800     1140
4194304 350     580

7 years agosystemctl: add missing verbs to help
Zbigniew Jędrzejewski-Szmek [Tue, 4 Jun 2013 14:57:47 +0000 (10:57 -0400)]
systemctl: add missing verbs to help

7 years agosystemctl: limit logs in status to current boot
Zbigniew Jędrzejewski-Szmek [Mon, 3 Jun 2013 22:28:12 +0000 (18:28 -0400)]
systemctl: limit logs in status to current boot

Also reworded a few debug messages for brevity, and added a log
statement which prints out the filter at debug level:

Journal filter: (((UNIT=sys-module-configfs.device AND _PID=1) OR (COREDUMP_UNIT=sys-module-configfs.device AND MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1) OR _SYSTEMD_UNIT=sys-module-configfs.device) AND _BOOT_ID=4e3c518ab0474c12ac8de7896fe6b154)

7 years agounits: cleanup agetty command line
Karel Zak [Mon, 3 Jun 2013 12:28:29 +0000 (14:28 +0200)]
units: cleanup agetty command line

 * baud rate is optional and unnecessary for virtual terminals
 * term type is optional (default is 'linux' for virtual terminals
   and 'vt102' for serial lines)
 * long options are more user-friendly

... all this is supported since util-linux v2.20 (Aug 2011).

7 years agobus-benchmark: lower loop time to 100ms by default, to ensure "make check" finishes...
Lennart Poettering [Tue, 4 Jun 2013 10:00:50 +0000 (12:00 +0200)]
bus-benchmark: lower loop time to 100ms by default, to ensure "make check" finishes more quickly

To get useful results you should however specify a much longer time on
the command line.

7 years agotest: determine number of transactions per second rather than time per transaction
Lennart Poettering [Mon, 3 Jun 2013 10:44:44 +0000 (19:44 +0900)]
test: determine number of transactions per second rather than time per transaction

This way the measurements are not skewed by twoo short total measurement
times, and results become stabler.

7 years agosystemctl,core: allow nuking of symlinks to removed units
Zbigniew Jędrzejewski-Szmek [Mon, 3 Jun 2013 17:55:13 +0000 (13:55 -0400)]
systemctl,core: allow nuking of symlinks to removed units

Before, one the unit file was deleted, install_context_for_removal()
would refuse to look for symlinks. But we can remove dangling symlinks
anyway.

In principle, package installation/deinstallation scripts should do
that before the unit is uninstalled, but they don't always do. Also,
a user might have added additional symlinks manually.

https://bugs.freedesktop.org/show_bug.cgi?id=62395

7 years agoMakefile.am: merge conditionals
Tom Gundersen [Mon, 3 Jun 2013 13:54:58 +0000 (15:54 +0200)]
Makefile.am: merge conditionals

Merge all ENABLE_TMPFILES conditionals into one, and merge two ENABLE_EFI
conditionals. Also make sure the .in files are always distributed.

7 years agoanalyze: fix font size on plot
Thomas Hindoe Paaboel Andersen [Wed, 15 May 2013 19:52:07 +0000 (21:52 +0200)]
analyze: fix font size on plot

The font-size was missing a unit so they were ignored. This patch sets
the unit to 'px' and adjusts the sizes a bit as the text got very small.

7 years agoanalyze: show unit file loading on plot
Thomas Hindoe Paaboel Andersen [Wed, 15 May 2013 19:18:26 +0000 (21:18 +0200)]
analyze: show unit file loading on plot

This will add another color to the legend called "Loading unit files"
Like the generators it will mark a part of the systemd bar indicating
the time spent while loading unit files.

7 years agoanalyze: show generators on plot
Umut Tezduyar [Wed, 8 May 2013 12:29:12 +0000 (14:29 +0200)]
analyze: show generators on plot

7 years agobuild-sys: option to disable tmpfiles
Umut Tezduyar [Sun, 2 Jun 2013 08:54:44 +0000 (10:54 +0200)]
build-sys: option to disable tmpfiles

7 years agojournal: take KeepFree into account when reporting maximum size
Daniel Albers [Fri, 31 May 2013 12:39:34 +0000 (14:39 +0200)]
journal: take KeepFree into account when reporting maximum size

When reporting the maximum journal size add a hint if it's limited
by KeepFree.

7 years agobus: update for kdbus changes
Kay Sievers [Fri, 31 May 2013 02:54:55 +0000 (04:54 +0200)]
bus: update for kdbus changes

7 years agosystemctl: suggest 'systemctl daemon-reload' without --system
Zbigniew Jędrzejewski-Szmek [Fri, 31 May 2013 00:28:09 +0000 (20:28 -0400)]
systemctl: suggest 'systemctl daemon-reload' without --system

--system is default anyway, and some poor user might type 9
characters without needing to.

7 years agosystemctl: add command set-log-level
Václav Pavlín [Wed, 29 May 2013 14:08:11 +0000 (16:08 +0200)]
systemctl: add command set-log-level

Command changes current log level

7 years agosystemctl: add commands set-default and get-default
Václav Pavlín [Tue, 28 May 2013 09:05:48 +0000 (11:05 +0200)]
systemctl: add commands set-default and get-default

systemctl set-default NAME links the default.target to the given unit,
get-default prints out the path to the currently set default target.

7 years agocore: read "debug" from kernel commandline and set log level
Lukas Nykryn [Wed, 29 May 2013 12:09:56 +0000 (14:09 +0200)]
core: read "debug" from kernel commandline and set log level

7 years agojournald: DO recalculate the ACL mask, but only if it doesn't exist
Jan Alexander Steffens (heftig) [Tue, 28 May 2013 18:45:34 +0000 (20:45 +0200)]
journald: DO recalculate the ACL mask, but only if it doesn't exist

Since 11ec7ce, journald isn't setting the ACLs properly anymore if
the files had no ACLs to begin with: acl_set_fd fails with EINVAL.

An ACL with ACL_USER or ACL_GROUP entries but no ACL_MASK entry is
invalid, so make sure a mask exists before trying to set the ACL.

7 years agobuild-sys: more pretty colors
Zbigniew Jędrzejewski-Szmek [Thu, 30 May 2013 02:48:58 +0000 (22:48 -0400)]
build-sys: more pretty colors

7 years agocore: use the same test as upstart for apparmor
Nirbheek Chauhan [Wed, 29 May 2013 19:38:04 +0000 (15:38 -0400)]
core: use the same test as upstart for apparmor

Lennart:
> Hmm, I just noticed this patch:
>
> https://code.launchpad.net/~mdeslaur/upstart/apparmor-support/+merge/164169
>
> It contains a different check for AppArmor. Basically something like this:
>
> /sys/module/apparmor/parameters/enabled == 'Y'
>
> I'd prefer if we could change our code to do the same, given that
> the Ubuntu guys are guys are upstream for apparmor.

https://bugs.freedesktop.org/show_bug.cgi?id=63312

7 years agoman: fix display of keys which appear in two sections in directive index
Zbigniew Jędrzejewski-Szmek [Thu, 30 May 2013 02:31:20 +0000 (22:31 -0400)]
man: fix display of keys which appear in two sections in directive index

When an index key appeared in multiple sections (e.g.
CPUAffinity= was present in both "SYSTEM MANAGER DIRECTIVES"
and "UNIT DIRECTIVES"), when lxml was used, the key would
be not be displayed in all but one of those sections, and
only an empty <term/> element would be present. This
happens because lxml allows only one parent for each node,
and when the same formatted element was used in multiple places,
it was actually moved between them. Fix this by making a copy
of the element. The bug was present since lxml support was
introduced.

Also fix some indentation issues.

7 years agoman: link to XKB conf. guide in localectl(1)
Zbigniew Jędrzejewski-Szmek [Thu, 30 May 2013 02:38:06 +0000 (22:38 -0400)]
man: link to XKB conf. guide in localectl(1)

7 years agoFix CPUShares configuration option
Eelco Dolstra [Fri, 24 May 2013 17:34:53 +0000 (13:34 -0400)]
Fix CPUShares configuration option

This fixes the error message "Unknown or unsupported cgroup attribute
CPUShares".

7 years agobus: update for kdbus changes
Kay Sievers [Thu, 30 May 2013 03:35:42 +0000 (05:35 +0200)]
bus: update for kdbus changes

7 years agosystemd: record efi timestamps after /sys is mounted
Zachary Cook [Mon, 13 May 2013 22:00:37 +0000 (18:00 -0400)]
systemd: record efi timestamps after /sys is mounted

This partially reverts commit c3a170f3, which moved
efi_get_boot_timestamps too early in main(), before
/sys is assured to be mounted

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64371

[tomegun: in particular /sys/firmware/efi/efivars needs to be
mounted, which is not a problem if a systemd-initramfs containing
the correct module is being used. But not everyone uses an
initramfs...]

7 years agobus: rework benchmark test to actually yield useful results
Lennart Poettering [Wed, 29 May 2013 07:59:10 +0000 (16:59 +0900)]
bus: rework benchmark test to actually yield useful results

7 years agobus: when adding memfds to cache and we shorten them, make sure to unmap the remainder
Lennart Poettering [Wed, 29 May 2013 07:58:31 +0000 (16:58 +0900)]
bus: when adding memfds to cache and we shorten them, make sure to unmap the remainder

7 years agobus: properly unmap mapped area
Lennart Poettering [Tue, 28 May 2013 08:04:35 +0000 (17:04 +0900)]
bus: properly unmap mapped area

7 years agokeymap: Add Logitech USB (iTouch)
Martin Pitt [Fri, 24 May 2013 06:35:47 +0000 (08:35 +0200)]
keymap: Add Logitech USB (iTouch)

https://launchpad.net/bugs/1152377

7 years agobus: update kdbus.h from upstream
Kay Sievers [Fri, 24 May 2013 01:08:48 +0000 (03:08 +0200)]
bus: update kdbus.h from upstream

7 years agosystemctl: mangle names when avoiding dbus
Václav Pavlín [Fri, 17 May 2013 14:03:36 +0000 (16:03 +0200)]
systemctl: mangle names when avoiding dbus

Unit names were mangled in function enable_unit only when dbus was
used. This patch adds mangling also when the dbus is not in use.

This makes it possible to say e.g.:
   systemctl --root=/path enable cups
without spelling cups.service out in full.

7 years agoFix --no-ask-password
Jan Janssen [Fri, 17 May 2013 13:38:12 +0000 (15:38 +0200)]
Fix --no-ask-password

POSIX_ME_HARDER mode is disabled for localectl. It doesn't
make much sense in case of localectl, and there's little reason
for localectl to behave specially.

7 years agoman: mention net.ifnames in kernel-command-line(3)
Zbigniew Jędrzejewski-Szmek [Thu, 23 May 2013 01:11:29 +0000 (21:11 -0400)]
man: mention net.ifnames in kernel-command-line(3)

7 years agobus: add benchmark tool to determine the right threshold for copying vs. memfd
Lennart Poettering [Wed, 22 May 2013 14:02:21 +0000 (16:02 +0200)]
bus: add benchmark tool to determine the right threshold for copying vs.  memfd

7 years agoman: Document missing options
Jan Janssen [Fri, 17 May 2013 13:38:13 +0000 (15:38 +0200)]
man: Document missing options

7 years agosystemctl: make systemctl is-enabled work for templated units
Michael Tremer [Sun, 19 May 2013 13:45:48 +0000 (15:45 +0200)]
systemctl: make systemctl is-enabled work for templated units

Patch resolves the problem that 'systemctl is-enabled' does
not work for templated units.

Without this patch, systemctl is-enabled something@abc.service
returned "No such file or directory", because it first checked
if /usr/lib/systemd/system/something@abc.service, etc. exists.
If systemctl is-enabled is called for templated units, this
check should be omitted and it should search for symlinks in
the .wants dirs right away.

This patch fixes the broken behaviour and resolves
  https://bugs.freedesktop.org/show_bug.cgi?id=55318.

[zj: fixed the patch to still check for broken symlinks and
     masked instances. Also removed untrue assumptions from
     the patch description.]

7 years agoservice: kill processes with SIGKILL on watchdog failure
Michael Olbrich [Sun, 19 May 2013 10:10:55 +0000 (12:10 +0200)]
service: kill processes with SIGKILL on watchdog failure

Just calling service_enter_dead() does not kill any processes.
As a result, the old process may still be running when the new one is
started.

After a watchdog failure the service is in an undefined state.
Using the normal shutdown mechanism makes no sense. Instead all processes
are just killed and the service can try to restart.

7 years agosystemctl: honor "--no-legend" in 'list-sockets'
Mantas Mikulėnas [Mon, 20 May 2013 08:20:15 +0000 (11:20 +0300)]
systemctl: honor "--no-legend" in 'list-sockets'

7 years agokeymap: Add DIXONSP
Martin Pitt [Tue, 21 May 2013 07:52:33 +0000 (09:52 +0200)]
keymap: Add DIXONSP

https://launchpad.net/bugs/1157334

7 years agokeymap: Add BenQ JoyBook
Martin Pitt [Tue, 21 May 2013 07:40:21 +0000 (09:40 +0200)]
keymap: Add BenQ JoyBook

https://launchpad.net/bugs/727139

7 years agokeymap: Add Samsung 900XC3
Martin Pitt [Tue, 21 May 2013 07:28:29 +0000 (09:28 +0200)]
keymap: Add Samsung 900XC3

https://launchpad.net/bugs/1012365

7 years agocore: fix DBus property ExecMainExitTimestamp
Michal Schmidt [Mon, 20 May 2013 14:17:38 +0000 (16:17 +0200)]
core: fix DBus property ExecMainExitTimestamp

Possibly due to copy&paste error it was identical to
ExecMainStartTimestamp.

7 years agobus: add test for bloom filter prefix match
Lennart Poettering [Sun, 19 May 2013 22:36:50 +0000 (00:36 +0200)]
bus: add test for bloom filter prefix match

7 years agobus: add a more comprehensive test for the bloom filter logic
Lennart Poettering [Sun, 19 May 2013 22:21:56 +0000 (00:21 +0200)]
bus: add a more comprehensive test for the bloom filter logic