Commit graph

123 commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek 9aa822179b man: update rules
Apparently this step was forgotten in 935052a8aa.
2020-04-06 20:47:14 +02:00
Daan De Meyer 11a177d9de sd-bus: Deprecate priority functions 2020-04-02 21:36:59 +02:00
Zbigniew Jędrzejewski-Szmek 6829d8ce69
Merge pull request #15253 from DaanDeMeyer/object-vtable-error-docs
sd-bus: Add error handling info to sd_bus_add_object_vtable docs
2020-04-01 12:25:34 +02:00
Daan De Meyer e3e5a6eebd sd-bus: Add sd_bus_get/set_priority docs + fixes 2020-04-01 00:11:33 +02:00
Daan De Meyer 9b62e232ea sd-bus: Add note about sd_bus_reply_method_return to SD_BUS_METHOD docs 2020-03-31 20:38:54 +02:00
Daan De Meyer fc91667d77 sd-bus: Add sd_bus_add_object and callback docs 2020-03-31 20:16:30 +02:00
Zbigniew Jędrzejewski-Szmek 4a874560c5
Merge pull request #15217 from keszybz/beef-up-sd-path
Export sd-path functions and beef up systemd-path to show more items
2020-03-29 22:57:53 +02:00
Daan De Meyer 45069c67ce sd-bus: Add sd_bus_slot_get_current_* docs 2020-03-29 21:36:55 +02:00
Zbigniew Jędrzejewski-Szmek b35ed5530b man: add sd_path_lookup(3) 2020-03-27 20:12:44 +01:00
Daan De Meyer b0f4c02e2d sd-bus: Add sd_bus_send docs + cleanups. 2020-03-22 20:21:11 +01:00
Daan De Meyer 60ef094297 sd-bus: Add sd_bus_reply_method_return docs + cleanups 2020-03-19 20:51:17 +01:00
Daan De Meyer 4bd859be95 sd-bus: add sd_bus_message_seal docs + cleanups 2020-03-19 14:27:56 +01:00
Zbigniew Jędrzejewski-Szmek 677ceb0c2f
Merge pull request #15153 from keszybz/man-bus-address
Add two man pages for sd-bus
2020-03-19 09:11:14 +01:00
Daan De Meyer cc46b9d913 sd-bus: sd_bus_set/get_method_call_timeout docs + cleanups. 2020-03-18 20:07:45 +01:00
Zbigniew Jędrzejewski-Szmek 92b6df1d68 man: mention sd_bus_is_anonymous() and sd_bus_is_trusted() 2020-03-18 19:57:44 +01:00
Zbigniew Jędrzejewski-Szmek 9783b59bf6 man: describe sd_bus_default_flush_close() 2020-03-18 19:57:43 +01:00
Zbigniew Jędrzejewski-Szmek 3f549982a5 man: add sd_bus_set_address(3) 2020-03-18 19:57:43 +01:00
Zbigniew Jędrzejewski-Szmek 27622235c4 man: add sd_bus_start(3) 2020-03-18 19:57:43 +01:00
Daan De Meyer 953ee402cb sd-bus: sd_bus_call/sd_bus_call_async_docs + cleanups. 2020-03-18 10:45:14 +01:00
Daan De Meyer 9735c644be sd-bus: Add sd_bus_method_call/sd_bus_method_call_async docs + cleanups. 2020-03-17 17:12:58 +09:00
Zbigniew Jędrzejewski-Szmek 4a29c185b7 man: add systemd-network-generator.service(8)
It's a bit bare-bones, but it should be enough to point the reader in the right
direction.
2020-03-05 08:20:06 +01:00
Zbigniew Jędrzejewski-Szmek aa07dc7093 man: add .service suffix to systemd-pstore(8)
That is the pattern that we always use with executables not in
$PATH.
2020-02-29 09:57:06 +01:00
Zbigniew Jędrzejewski-Szmek ebb7a2fcb9 man: add missing refnames for two binary names
We generally want the man page to also be available under the
binary name, but the <refname> tags were missing in two cases.
2020-02-28 17:02:23 +01:00
Lennart Poettering 5c11632735 man: document the new sd_bus_enqueue_for_read() API call 2020-02-04 18:47:32 +01:00
Lennart Poettering d58f31793a
Merge pull request #14645 from keszybz/sd-bus-message-dump
sd_bus_message_dump
2020-02-02 17:27:50 +01:00
Yu Watanabe af06ddf51a meson, man: do not install pam_systemd_home(8) when pam or homed is disabled
Fixes #14725.
2020-02-01 12:13:45 +01:00
Lennart Poettering 241c8f67f6 man: document the new sd_journal_open_namespace() API 2020-01-31 15:10:40 +01:00
Lennart Poettering 6bc4361997 man: document journald@NAMESPACE.conf 2020-01-31 15:10:40 +01:00
Lennart Poettering efcbcd0d04 man: document journald namespaces 2020-01-31 15:10:40 +01:00
Yu Watanabe 2d37ea5ca9 man: do not install man pages for systemd-repart if it is disabled
Closes #14716.
2020-01-31 18:06:09 +09:00
Zbigniew Jędrzejewski-Szmek f770b7e084 man: document man/sd_bus_message_dump.xml 2020-01-30 14:33:05 +01:00
Lennart Poettering 28e208a7d8 man: document pam_systemd_home 2020-01-28 22:37:49 +01:00
Lennart Poettering 38e7b808eb man: add systemd-homed man page 2020-01-28 22:37:25 +01:00
Lennart Poettering ea7a19e95d man: add homectl(1) man page 2020-01-28 22:37:00 +01:00
Lennart Poettering 917cc8082b man: document systemd-repart 2020-01-20 17:42:03 +01:00
Lennart Poettering 7d9ad0e5e5 man: document systemd-userdbd.service 2020-01-15 15:30:40 +01:00
Lennart Poettering 3b2db6f110 man: document userdbctl(1) 2020-01-15 15:30:20 +01:00
Lennart Poettering ac6431dad9 man: add man page for sd_bus_message_sensitive() 2019-12-18 09:10:34 +01:00
Lennart Poettering 8089643328 man: document the new sd-event pidfd magic 2019-12-04 10:36:10 +01:00
Lennart Poettering 0bca283127 man: document sd_event_source_set_floating()
Let's make sure we get back to 100% man page documentation coverage of
our sd-event APIs. We are bad enough at the others, let's get these ones
right at least.
2019-11-29 02:48:41 +09:00
Jan Tojnar 88eb051972 man: use mkswap@ instead of makeswap@
That is what is linked from systemd.swap(5) and also what the systemd.generator produces.
2019-11-28 15:46:21 +01:00
Lennart Poettering 20bae8b94d meson: correct man page deps 2019-10-31 09:04:19 +09:00
Lennart Poettering 39867bb9fb man: document the systemd-random-seed rework 2019-07-25 18:31:20 +02:00
Eric DeVolder 9b4abc69b2 pstore: Tool to archive contents of pstore
This patch introduces the systemd pstore service which will archive the
contents of the Linux persistent storage filesystem, pstore, to other storage,
thus preserving the existing information contained in the pstore, and clearing
pstore storage for future error events.

Linux provides a persistent storage file system, pstore[1], that can store
error records when the kernel dies (or reboots or powers-off). These records in
turn can be referenced to debug kernel problems (currently the kernel stuffs
the tail of the dmesg, which also contains a stack backtrace, into pstore).

The pstore file system supports a variety of backends that map onto persistent
storage, such as the ACPI ERST[2, Section 18.5 Error Serialization] and UEFI
variables[3 Appendix N Common Platform Error Record]. The pstore backends
typically offer a relatively small amount of persistent storage, e.g. 64KiB,
which can quickly fill up and thus prevent subsequent kernel crashes from
recording errors. Thus there is a need to monitor and extract the pstore
contents so that future kernel problems can also record information in the
pstore.

The pstore service is independent of the kdump service. In cloud environments
specifically, host and guest filesystems are on remote filesystems (eg. iSCSI
or NFS), thus kdump relies [implicitly and/or explicitly] upon proper operation
of networking software *and* hardware *and* infrastructure.  Thus it may not be
possible to capture a kernel coredump to a file since writes over the network
may not be possible.

The pstore backend, on the other hand, is completely local and provides a path
to store error records which will survive a reboot and aid in post-mortem
debugging.

Usage Notes:
This tool moves files from /sys/fs/pstore into /var/lib/systemd/pstore.

To enable kernel recording of error records into pstore, one must either pass
crash_kexec_post_notifiers[4] to the kernel command line or enable via 'echo Y
 > /sys/module/kernel/parameters/crash_kexec_post_notifiers'. This option
invokes the recording of errors into pstore *before* an attempt to kexec/kdump
on a kernel crash.

Optionally, to record reboots and shutdowns in the pstore, one can either pass
the printk.always_kmsg_dump[4] to the kernel command line or enable via 'echo Y >
/sys/module/printk/parameters/always_kmsg_dump'. This option enables code on the
shutdown path to record information via pstore.

This pstore service is a oneshot service. When run, the service invokes
systemd-pstore which is a tool that performs the following:
 - reads the pstore.conf configuration file
 - collects the lists of files in the pstore (eg. /sys/fs/pstore)
 - for certain file types (eg. dmesg) a handler is invoked
 - for all other files, the file is moved from pstore

 - In the case of dmesg handler, final processing occurs as such:
   - files processed in reverse lexigraphical order to faciliate
     reconstruction of original dmesg
   - the filename is examined to determine which dmesg it is a part
   - the file is appended to the reconstructed dmesg

For example, the following pstore contents:

 root@vm356:~# ls -al /sys/fs/pstore
 total 0
 drwxr-x--- 2 root root    0 May  9 09:50 .
 drwxr-xr-x 7 root root    0 May  9 09:50 ..
 -r--r--r-- 1 root root 1610 May  9 09:49 dmesg-efi-155741337601001
 -r--r--r-- 1 root root 1778 May  9 09:49 dmesg-efi-155741337602001
 -r--r--r-- 1 root root 1726 May  9 09:49 dmesg-efi-155741337603001
 -r--r--r-- 1 root root 1746 May  9 09:49 dmesg-efi-155741337604001
 -r--r--r-- 1 root root 1686 May  9 09:49 dmesg-efi-155741337605001
 -r--r--r-- 1 root root 1690 May  9 09:49 dmesg-efi-155741337606001
 -r--r--r-- 1 root root 1775 May  9 09:49 dmesg-efi-155741337607001
 -r--r--r-- 1 root root 1811 May  9 09:49 dmesg-efi-155741337608001
 -r--r--r-- 1 root root 1817 May  9 09:49 dmesg-efi-155741337609001
 -r--r--r-- 1 root root 1795 May  9 09:49 dmesg-efi-155741337710001
 -r--r--r-- 1 root root 1770 May  9 09:49 dmesg-efi-155741337711001
 -r--r--r-- 1 root root 1796 May  9 09:49 dmesg-efi-155741337712001
 -r--r--r-- 1 root root 1787 May  9 09:49 dmesg-efi-155741337713001
 -r--r--r-- 1 root root 1808 May  9 09:49 dmesg-efi-155741337714001
 -r--r--r-- 1 root root 1754 May  9 09:49 dmesg-efi-155741337715001

results in the following:

 root@vm356:~# ls -al /var/lib/systemd/pstore/155741337/
 total 92
 drwxr-xr-x 2 root root  4096 May  9 09:50 .
 drwxr-xr-x 4 root root    40 May  9 09:50 ..
 -rw-r--r-- 1 root root  1610 May  9 09:50 dmesg-efi-155741337601001
 -rw-r--r-- 1 root root  1778 May  9 09:50 dmesg-efi-155741337602001
 -rw-r--r-- 1 root root  1726 May  9 09:50 dmesg-efi-155741337603001
 -rw-r--r-- 1 root root  1746 May  9 09:50 dmesg-efi-155741337604001
 -rw-r--r-- 1 root root  1686 May  9 09:50 dmesg-efi-155741337605001
 -rw-r--r-- 1 root root  1690 May  9 09:50 dmesg-efi-155741337606001
 -rw-r--r-- 1 root root  1775 May  9 09:50 dmesg-efi-155741337607001
 -rw-r--r-- 1 root root  1811 May  9 09:50 dmesg-efi-155741337608001
 -rw-r--r-- 1 root root  1817 May  9 09:50 dmesg-efi-155741337609001
 -rw-r--r-- 1 root root  1795 May  9 09:50 dmesg-efi-155741337710001
 -rw-r--r-- 1 root root  1770 May  9 09:50 dmesg-efi-155741337711001
 -rw-r--r-- 1 root root  1796 May  9 09:50 dmesg-efi-155741337712001
 -rw-r--r-- 1 root root  1787 May  9 09:50 dmesg-efi-155741337713001
 -rw-r--r-- 1 root root  1808 May  9 09:50 dmesg-efi-155741337714001
 -rw-r--r-- 1 root root  1754 May  9 09:50 dmesg-efi-155741337715001
 -rw-r--r-- 1 root root 26754 May  9 09:50 dmesg.txt

where dmesg.txt is reconstructed from the group of related
dmesg-efi-155741337* files.

Configuration file:
The pstore.conf configuration file has four settings, described below.
 - Storage : one of "none", "external", or "journal". With "none", this
   tool leaves the contents of pstore untouched. With "external", the
   contents of the pstore are moved into the /var/lib/systemd/pstore,
   as well as logged into the journal.  With "journal", the contents of
   the pstore are recorded only in the systemd journal. The default is
   "external".
 - Unlink : is a boolean. When "true", the default, then files in the
   pstore are removed once processed. When "false", processing of the
   pstore occurs normally, but the pstore files remain.

References:
[1] "Persistent storage for a kernel's dying breath",
    March 23, 2011.
    https://lwn.net/Articles/434821/

[2] "Advanced Configuration and Power Interface Specification",
    version 6.2, May 2017.
    https://www.uefi.org/sites/default/files/resources/ACPI_6_2.pdf

[3] "Unified Extensible Firmware Interface Specification",
    version 2.8, March 2019.
    https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_final.pdf

[4] "The kernel’s command-line parameters",
    https://static.lwn.net/kerneldoc/admin-guide/kernel-parameters.html
2019-07-19 21:46:07 +02:00
Zbigniew Jędrzejewski-Szmek 34d2f9204c meson: update hint in man/rules/ 2019-07-19 07:09:34 +09:00
Lennart Poettering cb367b1785
Merge pull request #12518 from keszybz/naming-scheme
Document our naming schemes properly
2019-05-10 15:14:59 -04:00
Zbigniew Jędrzejewski-Szmek aa7585fd8e sd-event: add sd_event_source_disable_unrefp() too
I do not have any immediate use for it, but let's add it for completeness.
2019-05-10 16:55:37 +02:00
Zbigniew Jędrzejewski-Szmek afd15bbb4b sd-event: add sd_event_source_disable_unref() helper 2019-05-10 16:55:35 +02:00
Zbigniew Jędrzejewski-Szmek 0b1e5b6ed8 man: describe naming schemes in a new man page
I decided to make this a separate man page because it is freakin' long.
This content could equally well go in systemd-udevd.service(8), systemd.link(5),
or a new man page for the net_id builtin.

v2:
- rename to systemd.net-naming-scheme
- add udevadm test-builtin net_id example
2019-05-10 10:24:03 +02:00
Zbigniew Jędrzejewski-Szmek afb9c0c958 man: document sd_bus_add_{object,fallback}_vtable
The interface provided by those two functions is huge, so this text could
probably be made two or three times as long if all details were described.
But I think it's a good start.
2019-04-23 22:58:51 +02:00