Lennart Poettering
5a44565cb7
gpt: we actually honour the ReadOnly= flag on XBOOTLDR partitions too
...
The partition type is defined in our Discoverable Partition Spec, and we
honour the flag for it, hence allow setting it too.
2021-04-22 09:34:41 +02:00
Zbigniew Jędrzejewski-Szmek
7feb1dd654
Merge pull request #19387 from poettering/discoverable-part-fix
...
minor doc fixes
2021-04-21 23:10:48 +02:00
Igor Zhbanov
4c54768c97
journald: Retry if posix_fallocate returned -1 (EINTR)
...
On some conditions (particularly when mobile CPUs are going to sleep),
the posix_fallocate(), which is called when a new journal file is allocated,
can return -1 (EINTR). This is counted as a fatal error. So the journald
closes both old and journals, and simply throwing away further incoming
events, because of no log files open.
Introduce posix_fallocate_loop() that restarts the function in the case
of EINTR. Also let's make code base more uniform by returning negative
values on error.
Fix assert in test-sigbus.c that incorrectly counted positive values as
success. After changing the function return values, that will actually work.
Fixes : #19041
Signed-off-by: Igor Zhbanov <i.zhbanov@omprussia.ru >
2021-04-21 23:08:35 +02:00
Lennart Poettering
eb3c3a89c9
doc: slightly reorder/improve partition type table
...
Let's put swap and generic linux data partitions next to each other, and
clarify they predated this spec.
2021-04-21 22:25:10 +02:00
Lennart Poettering
1d6ca0a219
doc: verity partitions may only contain Verity data (fix copypasta)
2021-04-21 22:25:08 +02:00
Lennart Poettering
60c6c2101c
man: --add was renamed --copy-to when it was merged, fix man page reference to it
2021-04-21 22:24:38 +02:00
Lennart Poettering
6f4a5f25fc
Merge pull request #19271 from yuwata/dhcp-duid-uuid
...
network: fix issues arround DHCP DUID-UUID
2021-04-21 21:59:35 +02:00
Lennart Poettering
e19479aa7d
Merge pull request #19365 from keszybz/sd_id128_equals
...
Add sd_id128_in_set()
2021-04-21 21:45:14 +02:00
Lennart Poettering
192b31f28f
update TODO
2021-04-21 21:44:02 +02:00
Lennart Poettering
347d8a2889
Merge pull request #19381 from poettering/generator-tweaks
...
generator: two minor tweaks
2021-04-21 18:33:05 +02:00
Lennart Poettering
2b66f48e4e
generator: write out special systemd-fsck-usr.service
...
So far all file systems where checked by instances of
systemd-fsck@.service, with the exception of the root fs which was
covered by systemd-fsck-root.service. The special handling is necessary
to deal with ordering issues: we typically want the root fs to be
checked before all others, and — weirdly — allow mounting it before the
fsck done (for compat with initrd-less boots).
This adds similar special handling for /usr: if the hierarchy is placed
on a separate file system check it with a special
systemd-fsck-usr.service instead of a regular sysemd-fsck@.service
instance. Reason is again ordering: we want to allow mounting of /usr
without the root fs already being around in the initrd, to cover for
cases where the root fs is created on first boot and thus cannot be
mounted/checked before /usr.
2021-04-21 18:32:29 +02:00
Zbigniew Jędrzejewski-Szmek
1f2a7ca7ac
Merge pull request #19362 from yuwata/network-dhcp6-pd-log-19354
...
network: dhcp6: add logs about delegated prefix
2021-04-21 18:20:49 +02:00
Zbigniew Jędrzejewski-Szmek
59ab650fc5
Merge pull request #19370 from mrc0mmand/shellcheck-pt4
...
More shellcheck shenanigans
2021-04-21 18:14:32 +02:00
Zbigniew Jędrzejewski-Szmek
da1af43dc1
repart: reword log message
...
The UUID does not exist, a partion with the UUID exists. So let's
say that the UUID is "already used" for clarity.
2021-04-21 17:51:24 +02:00
Zbigniew Jędrzejewski-Szmek
580f48cc02
partition,shared/gpt: use sd_id128_in_set()
...
I was worried that the text size will grow, but apparently that's not the
case:
With --optimization=2:
$ size build/src/shared/libsystemd-shared-248.a.p/gpt.c.o*
text data bss dec hex filename
3674 1104 0 4778 12aa build/src/shared/libsystemd-shared-248.a.p/gpt.c.o.old
3085 1104 0 4189 105d build/src/shared/libsystemd-shared-248.a.p/gpt.c.o
(I don't understand the generated assembly, even though it seems to work:
Disassembly of section .text.gpt_partition_type_is_usr_verity:
0000000000000000 <gpt_partition_type_is_usr_verity>:
bool gpt_partition_type_is_usr_verity(sd_id128_t id) {
0: 48 83 ec 08 sub $0x8,%rsp
return sd_id128_in_set(id,
4: 4c 8b 05 00 00 00 00 mov 0x0(%rip),%r8 # b <gpt_partition_type_is_usr_verity+0xb>
b: 31 c0 xor %eax,%eax
d: 4c 8b 0d 00 00 00 00 mov 0x0(%rip),%r9 # 14 <gpt_partition_type_is_usr_verity+0x14>
14: 48 8b 15 00 00 00 00 mov 0x0(%rip),%rdx # 1b <gpt_partition_type_is_usr_verity+0x1b>
1b: 48 8b 0d 00 00 00 00 mov 0x0(%rip),%rcx # 22 <gpt_partition_type_is_usr_verity+0x22>
22: 6a 00 pushq $0x0
24: 6a 00 pushq $0x0
26: ff 35 00 00 00 00 pushq 0x0(%rip) # 2c <gpt_partition_type_is_usr_verity+0x2c>
2c: ff 35 00 00 00 00 pushq 0x0(%rip) # 32 <gpt_partition_type_is_usr_verity+0x32>
32: ff 35 00 00 00 00 pushq 0x0(%rip) # 38 <gpt_partition_type_is_usr_verity+0x38>
38: ff 35 00 00 00 00 pushq 0x0(%rip) # 3e <gpt_partition_type_is_usr_verity+0x3e>
3e: ff 35 00 00 00 00 pushq 0x0(%rip) # 44 <gpt_partition_type_is_usr_verity+0x44>
44: ff 35 00 00 00 00 pushq 0x0(%rip) # 4a <gpt_partition_type_is_usr_verity+0x4a>
4a: ff 35 00 00 00 00 pushq 0x0(%rip) # 50 <gpt_partition_type_is_usr_verity+0x50>
50: ff 35 00 00 00 00 pushq 0x0(%rip) # 56 <gpt_partition_type_is_usr_verity+0x56>
56: ff 35 00 00 00 00 pushq 0x0(%rip) # 5c <gpt_partition_type_is_usr_verity+0x5c>
5c: ff 35 00 00 00 00 pushq 0x0(%rip) # 62 <gpt_partition_type_is_usr_verity+0x62>
62: e8 00 00 00 00 callq 67 <gpt_partition_type_is_usr_verity+0x67>
67: 85 c0 test %eax,%eax
69: 0f 95 c0 setne %al
GPT_USR_ARM_VERITY,
GPT_USR_ARM_64_VERITY,
GPT_USR_IA64_VERITY,
GPT_USR_RISCV32_VERITY,
GPT_USR_RISCV64_VERITY);
}
6c: 48 83 c4 68 add $0x68,%rsp
70: c3 retq
)
2021-04-21 17:51:24 +02:00
Zbigniew Jędrzejewski-Szmek
64b21afc72
sd-id128: add convenience functions to compare multiple sd_id128_t
...
Similar to sd_bus_error_has_names() that was added in
2b07ec316a .
It is made inline in the hope that the compiler will be able to optimize
all the va_args boilerplate away, and do an efficient comparison when
the arguments are all constants.
2021-04-21 17:51:24 +02:00
Yangyang Shen
80e9720616
journald: enforce longer line length limit during "setup" phase of stream protocol
...
This PR made modification on Lennart Poettering's basis. Fix the LineMax's function failure problem.
Signed-off-by: Yangyang Shen <shenyangyang4@huawei.com >
2021-04-21 17:22:24 +02:00
Lennart Poettering
599aee40a3
generator: explain why systemd-root-fsck.service exists in a comment
2021-04-21 15:18:07 +02:00
Lennart Poettering
122860f102
generator: exit early when asked to generate fsck unit for / and /usr in initrd
...
Let's exit early if we are invoked to generate an fsck unit for the
rootfs or /usr of the initrd itself. The "systemd-root-fsck.service" and
"systemd-usr-fsck.service" units are after all for the host file
systems, and the initrd file hierarchy is from an unpacked cpio anyway.
Hence, this semantically doesn't really make sense, so quickly exit if
we detect this case. This allows us to remove some checks further down
the codepath.
2021-04-21 15:18:07 +02:00
Yu Watanabe
28f9667d05
network: dhcp: constify link_get_duid()
2021-04-21 21:00:45 +09:00
Yu Watanabe
8c72f5c077
network: dhcp: introduce duid_needs_product_uuid() helper function
2021-04-21 21:00:45 +09:00
Yu Watanabe
294f129b0d
network: configure non-dhcp configs earlier even DUID-UUID is used by DHCP clients
...
Previously, if DUID-UUID is used, all configurations are configured
after networkd gets product uuid of machine.
This makes only DHCP clients are delayed, and other configs are
configured earlier.
2021-04-21 21:00:45 +09:00
Yu Watanabe
4e26a5baa0
network: make IAID and DUID for DHCPv6 configurable explicitly
...
Closes #18996 .
2021-04-21 21:00:11 +09:00
Yu Watanabe
cde74a65c1
network: move dhcp related conf parsers to networkd-dhcp-common.c
2021-04-21 20:56:58 +09:00
Yu Watanabe
b67bbfef14
Merge pull request #19344 from yuwata/network-route-metric-19028
...
network: add RouteMetric= setting in [Address] and more
2021-04-21 20:51:31 +09:00
Lennart Poettering
2671fbefce
units: fix repart conditions to run if definitions exist in /sysroot + /sysusr
...
The systemd-repart code was already smart enough to look for definitions
there, but the unit file conditions made that pointless. Let's fix that.
2021-04-21 12:23:31 +01:00
Yu Watanabe
ea846e45c1
doc: fix typo
2021-04-21 09:57:30 +02:00
Zbigniew Jędrzejewski-Szmek
78aa5b6f59
man: mention sd_id128_is_allf(), SD_ID128_ALLF
...
It was added in 670814387b , but not
mentioned in the man pages.
2021-04-21 08:45:05 +02:00
Zbigniew Jędrzejewski-Szmek
e0a41aa4c6
man: dedent examples in sd-id128 to 2 columns
...
In man pages, horizontal space it at premium, and everything should
generally be indented with 2 spaces to make it more likely that the
examples fit on a user's screen.
C.f. 798d3a524e .
2021-04-21 08:45:05 +02:00
Yu Watanabe
baad6421b1
network: dhcp6: logs about generated addresses in delegated prefix
2021-04-21 14:04:39 +09:00
Yu Watanabe
4b409e855b
network: dhcp6: logs about delegated prefixes
...
Closes #19354 .
2021-04-21 14:04:33 +09:00
Yu Watanabe
eccdc68771
in-addr-util: introduce 'struct in_addr_prefix' and hash ops for it
2021-04-21 13:57:47 +09:00
Yu Watanabe
93e44aa92f
in-addr-util: add assertions
2021-04-21 13:57:47 +09:00
Yu Watanabe
3e726c156b
test-network: update test for RouteMetric=
2021-04-21 13:55:02 +09:00
Yu Watanabe
4c0aae015f
man: update explanation about route metric
2021-04-21 13:55:02 +09:00
Yu Watanabe
b3cde1c3f5
network: set metric for prefix route of IPv4 link-local address
2021-04-21 13:55:02 +09:00
Yu Watanabe
0e1fb1d09a
network: radv: add RouteMetric= setting in [IPv6Prefix]
2021-04-21 13:55:02 +09:00
Yu Watanabe
9fe0b7b493
network: dhcp6-pd: add RouteMetric= setting in [DHCPv6PrefixDelegation]
2021-04-21 13:55:02 +09:00
Yu Watanabe
8ebafba9f9
network: move RouteMetric= from [DHCPv6] to [IPv6AcceptRA]
...
As the value is used in the routes in RA.
2021-04-21 13:55:02 +09:00
Yu Watanabe
415deef9c3
network: dhcp4: also apply RouteMetric= setting in [DHCPv4] to prefix route
2021-04-21 13:55:02 +09:00
Yu Watanabe
c4ff0629dd
network: add RouteMetric= setting in [Address] section
2021-04-21 13:54:59 +09:00
Yu Watanabe
a8d21c91f9
network: show route metric in debug log
2021-04-21 13:42:45 +09:00
Yu Watanabe
0e7bb99ff9
sd-netlink: add missing address types
2021-04-21 13:42:08 +09:00
Lennart Poettering
5efbd0bf89
Merge pull request #19371 from poettering/repart-initrd-usr-only
...
two /sysusr/ changes for repart, split out of #19234
2021-04-20 23:46:17 +02:00
Lennart Poettering
0aa714778a
Merge pull request #19372 from poettering/repart-initrd-usr-begin
...
fstab-generator: mount.usr= handling changes, split out of #19234
2021-04-20 23:44:49 +02:00
Lennart Poettering
ac02dccabc
Merge pull request #19368 from poettering/loop-seqnum
...
loop-util: let's try harder to avoid loopback block device recycle issues
2021-04-20 23:43:57 +02:00
Frantisek Sumsal
3b6fd3c1de
tools: shellcheck-ify most of the tool scripts
2021-04-20 20:11:13 +02:00
Lennart Poettering
3464514457
man: document new initrd-usr-fs.target
2021-04-20 19:11:07 +02:00
Lennart Poettering
632b551ca2
units: change order of settings to match order in other similar unit
2021-04-20 19:11:07 +02:00
Lennart Poettering
8f47e32a3e
repart: use /sysusr/ as --root= default in initrd, if mounted
2021-04-20 18:53:15 +02:00