1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 11:55:44 +03:00
Commit Graph

11629 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
9d64774057 journald: always vacuum empty offline files
Corrupted empty files are relatively common. I think they are created
when a coredump for a user who never logged anything before is
attempted to be written, but the write does not succeed because the
coredump is too big, but there are probably other ways to create
those, especially if the machine crashes at the right time.
Non-corrupted empty files can also happen, e.g. if a journal file is
opened, but nothing is ever successfully written to it and it is
rotated because of MaxFileSec=. Either way, each "empty" journal file
costs around 3 MB, and there's little point in keeping them around.
2013-06-24 21:06:06 -04:00
Zbigniew Jędrzejewski-Szmek
670b110c3b journald: fix space limits reporting
Reporting of the free space was bogus, since the remaining space
was compared with the maximum allowed, instead of the current
use being compared with the maximum allowed. Simplify and fix
by reporting limits directly at the point where they are calculated.

Also, assign a UUID to the message.
2013-06-24 21:06:06 -04:00
Zbigniew Jędrzejewski-Szmek
30cb029b8b journal/vacuum: cleanup 2013-06-24 21:06:06 -04:00
Jan Janssen
9c3fd04e7d libudev: Use correct type for sizeof 2013-06-24 12:41:01 +02:00
Zbigniew Jędrzejewski-Szmek
92fba83e3a journal-verify: allow unlinked data entries
Sometimes an entry is not successfully written, and we end up with
data items which are "unlinked", not connected to, and not used by any
entry. This will usually happen when we write to write a core dump,
and the initial small data fields are written successfully, but
the huge COREDUMP= field is not written. This situation is hard
to avoid, but the results are mostly harmless. Thus only warn about
unused data items.

Also, be more verbose about why journal files failed verification.
This should help diagnose journal failure modes without resorting
to a hexadecimal editor.

https://bugs.freedesktop.org/show_bug.cgi?id=65235 (esp. see
system.journal attached to the bug report).
2013-06-22 20:36:01 -04:00
Michael Biebl
fb69ed55e5 man: Fix small typo 2013-06-22 00:55:18 +02:00
Lennart Poettering
f123dba8b1 update TODO 2013-06-21 15:57:57 +02:00
Lennart Poettering
96ca81944e tmpfiles: fix error check 2013-06-21 15:57:57 +02:00
Lennart Poettering
7f1ad696a2 journald: bump the journal per-unit ratelimit defaults
Too many people kept hitting them, so let's increase the limits a bit.

https://bugzilla.redhat.com/show_bug.cgi?id=965803
2013-06-21 15:57:57 +02:00
Martin Pitt
f6c9f322e8 keymap: Apply to all Latitude and Precision models
https://launchpad.net/bugs/1193147
2013-06-21 06:34:38 +02:00
Zbigniew Jędrzejewski-Szmek
2d0b2e8765 journalctl,systemctl: show messages tagged with OBJECT_SYSTEMD_[USER_]_UNIT
Replace mallocs with alloca while at it.
2013-06-20 23:03:58 -04:00
Zbigniew Jędrzejewski-Szmek
fdcd37df3b Make sure we only show authentic coredump messages
Before we only checked the MESSAGE_ID and COREDUMP_UNIT.
Those are both user-controlled fields.

For COREDUMP_USER_UNIT, relax the rules a bit, and also
allow messages from _UID=0.
2013-06-20 23:03:58 -04:00
Zbigniew Jędrzejewski-Szmek
968f319679 journal: allow callers to specify OBJECT_PID=
When journald encounters a message with OBJECT_PID= set
coming from a priviledged process (UID==0), additional fields
will be added to the message:

OBJECT_UID=,
OBJECT_GID=,
OBJECT_COMM=,
OBJECT_EXE=,
OBJECT_CMDLINE=,
OBJECT_AUDIT_SESSION=,
OBJECT_AUDIT_LOGINUID=,
OBJECT_SYSTEMD_CGROUP=,
OBJECT_SYSTEMD_SESSION=,
OBJECT_SYSTEMD_OWNER_UID=,
OBJECT_SYSTEMD_UNIT= or OBJECT_SYSTEMD_USER_UNIT=.

This is for other logging daemons, like setroubleshoot, to be able to
augment their logs with data about the process.

https://bugzilla.redhat.com/show_bug.cgi?id=951627
2013-06-20 23:03:58 -04:00
Zbigniew Jędrzejewski-Szmek
fd59d9f298 Add hasprefix macro to check prefixes of fixed length 2013-06-20 23:03:58 -04:00
Lennart Poettering
1021b21bc6 login: add an api to determine the slice a PID is located in to libsystemd-login 2013-06-21 01:46:27 +02:00
Auke Kok
ed002560a1 core: only attempt to connect to a session bus if one likely exists. 2013-06-20 23:37:04 +02:00
Lennart Poettering
3d3ee759e6 update TODO 2013-06-20 23:32:13 +02:00
Lennart Poettering
78894537e0 man: fix example for DefaultEnvironment=
The example mentioned Environment= rather than DefaultEnvironment=.

Also made some other clean-ups.
2013-06-20 23:31:21 +02:00
Lennart Poettering
3c86d34cf1 man: document that shutdown() is only sometimes OK on sockets passed in via socket activation 2013-06-20 23:25:41 +02:00
Umut Tezduyar
97d0e5f83b manager: add DefaultEnvironment option
This complements existing functionality of setting variables
through 'systemctl set-environment', the kernel command line,
and through normal environment variables for systemd in session
mode.
2013-06-20 16:27:45 -04:00
Zbigniew Jędrzejewski-Szmek
8c1396b1c2 journalctl: show lines in full with --all
In 31f7bf1 "logs-show: print multiline messages", I forgot
to take into account the fact that --all implies --full for
journalctl.
2013-06-20 16:15:04 -04:00
Harald Hoyer
6c10d39970 kernel-install: filter out "initrd=" from /proc/cmdline 2013-06-20 15:47:19 +02:00
Zbigniew Jędrzejewski-Szmek
b3629c7da0 logind: uninitialized variable 2013-06-20 00:51:10 -04:00
Zbigniew Jędrzejewski-Szmek
ac34b3af13 build-sys: make intltool and distcheck happy 2013-06-20 00:50:22 -04:00
Zbigniew Jędrzejewski-Szmek
bd5a54582a nspawn: '-C' option has been removed
Fixup for 9444b1f "logind: add infrastructure to keep track of
machines, and move to slices."
2013-06-20 00:05:52 -04:00
Lennart Poettering
ba73ed858f sd-login: update machine enumeration/notifications APIs for new /run/systemd/machines/ 2013-06-20 04:03:38 +02:00
Lennart Poettering
5caef0fc19 logind: make ListMachines bus call public 2013-06-20 04:00:28 +02:00
Lennart Poettering
9444b1f20e logind: add infrastructure to keep track of machines, and move to slices
- This changes all logind cgroup objects to use slice objects rather
  than fixed croup locations.

- logind can now collect minimal information about running
  VMs/containers. As fixed cgroup locations can no longer be used we
  need an entity that keeps track of machine cgroups in whatever slice
  they might be located. Since logind already keeps track of users,
  sessions and seats this is a trivial addition.

- nspawn will now register with logind and pass various bits of metadata
  along. A new option "--slice=" has been added to place the container
  in a specific slice.

- loginctl gained commands to list, introspect and terminate machines.

- user.slice and machine.slice will now be pulled in by logind.service,
  since only logind.service requires this slice.
2013-06-20 03:49:59 +02:00
Łukasz Stelmach
77f40f165c Describe handling of an AF_UNIX socket
Describe how to handle an AF_UNIX socket, with Accept set to false,
received from systemd, upon exit.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
2013-06-19 15:24:05 -07:00
Zbigniew Jędrzejewski-Szmek
c25b1ee6cd core/dbus: properly export cgroup properties on sockets
https://bugs.freedesktop.org/show_bug.cgi?id=65945
2013-06-19 18:09:54 -04:00
Zbigniew Jędrzejewski-Szmek
422fa6500a cgls,loginctl,systemctl: fix -l
Fixup for 98a6e13 "journalctl,loginctl,systemctl,systemd-cgls: add -l
as alias for --full".
2013-06-19 18:08:14 -04:00
Lennart Poettering
fe004b7c3a journal: add references to SSKG paper FSS is based on 2013-06-18 16:25:11 +02:00
Lennart Poettering
55d32caf94 update TODO 2013-06-18 16:06:36 +02:00
Zbigniew Jędrzejewski-Szmek
718fe4b1d5 journalctl: properly print headers of empty journals 2013-06-18 08:50:08 -04:00
Sean McGovern
214daa72cb udev: handle network controllers in nonstandard domains
Onboard network controllers are not always on PCI domain 0.

[Kay: use int instead of long, add [P] to slot naming, remove sysname var]
2013-06-18 13:18:27 +02:00
Lennart Poettering
702a2d8f6a core: unref slice ref after use 2013-06-18 02:07:35 +02:00
Lennart Poettering
4ec9a8a48d core: expose a "Slice" property on Unit objects on the bus 2013-06-18 01:00:13 +02:00
Lennart Poettering
f2561e8598 units: add default units for system.slice, user.slice, machine.slice 2013-06-18 00:59:54 +02:00
Lennart Poettering
a016b9228f 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.
2013-06-17 21:36:51 +02:00
Ross Lagerwall
c647f10918 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".
2013-06-17 21:17:59 +02:00
Lennart Poettering
602c0e740f 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.
2013-06-17 21:12:53 +02:00
Lennart Poettering
ed8086d119 rpm: define a %_userunitdir macro 2013-06-17 18:37:25 +02:00
Daniel Albers
98a6e132b5 journalctl,loginctl,systemctl,systemd-cgls: add -l as alias for --full
https://bugs.freedesktop.org/show_bug.cgi?id=65850
2013-06-17 10:33:34 -04:00
Zbigniew Jędrzejewski-Szmek
fa3868c6d3 man: update systemd-analyze invocation 2013-06-14 16:25:38 -04:00
Gabriel de Perthuis
805bf39ce7 systemd-analyze: Show critical chains for listed units 2013-06-14 16:21:41 -04:00
Jason St. John
3ae83f9896 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.
2013-06-14 16:21:41 -04:00
Zbigniew Jędrzejewski-Szmek
5e9dfd2ef9 man: add sd_j_open_files to return values section 2013-06-13 23:36:08 -04:00
Zbigniew Jędrzejewski-Szmek
e40ec7aec5 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: ...".
2013-06-13 23:35:12 -04:00
Zbigniew Jędrzejewski-Szmek
6e5abe1564 journal: use initialization instead of zeroing 2013-06-13 23:32:14 -04:00
Zbigniew Jędrzejewski-Szmek
330fe879ba build-sys: add 'man' target
Useful when working just on the documentation.
2013-06-12 13:41:08 -04:00