1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-25 10:04:04 +03:00

66748 Commits

Author SHA1 Message Date
Daan De Meyer
7bc6c02896 repart: Massage the minimize for XFS a bit
A 1.5 multiplier doesn't seem to be sufficient for XFS as seen in
mkosi CI. Let's increase it to 2 for XFS to hopefully get better
results.
2023-08-15 12:58:28 +02:00
Daan De Meyer
b1110c81d8 mkfs-util: Don't set MKE2FS_DEVICE_PHYS_SECTSIZE
We only care about the logical sector size and if the physical sector
size isn't set and we're operating on a file, mke2fs will default the
physical sector size to the logical block size anyway.

This change makes sure that if we're operating on a block device and
set an explicit logical sector size, that doesn't affect the physical
sector size.
2023-08-15 12:10:14 +02:00
Daan De Meyer
5f13fb0a73 repart: Put function call closer to its error handling 2023-08-15 12:09:31 +02:00
Luca Boccassi
4ccee4b426
Merge pull request #28812 from DaanDeMeyer/sector-size
repart: Use 4096 as the fallback sector size for verity/luks/filesystems
2023-08-15 10:16:24 +01:00
Daan De Meyer
c81e350c03
Merge pull request #28833 from DaanDeMeyer/copy-subvolume
repart: Add Subvolumes= setting
2023-08-15 09:53:02 +02:00
Michael A Cassaniti
eeee486159 sysupdate: Use sector size for partition size calculations 2023-08-15 09:17:12 +02:00
Daan De Meyer
4b17f5c378
Merge pull request #28829 from DaanDeMeyer/mount-fd
tree-wide: Mount file descriptors via /proc/<pid>/fd
2023-08-15 09:04:45 +02:00
Luca Boccassi
e158e17299
Merge pull request #28835 from mrc0mmand/more-tests
test: add coverage for #27953
2023-08-15 01:54:52 +01:00
Daan De Meyer
4419735822 fd-util: Use /proc/pid/fd instead of /proc/self/fd
Currently, we mount via file descriptors using /proc/self/fd. This
works, but it means that in /proc/mounts and various other files,
the source of the mount will be listed as /proc/self/fd/xxx. For other
software that parses these files, /proc/self/fd/xxx doesn't mean anything,
or worse, it means the completely wrong thing, as it will refer to one of
their own file descriptors instead.

Let's improve the situation by using /proc/pid/fd instead. This allows
processes parsing /proc/mounts to do the right thing more often than not.
One scenario where even this doesn't work if when containers are involved,
as with the pid namespace unshared, even /proc/pid/fd will mean the wrong
thing, but it's no worse than /proc/self/fd which will always means the wrong
thing.

This also doesn't work if we mount via file descriptor and then exit, as the pid will
be gone, but it does work as long as the process that did the mount is alive, which
makes it useful for systemd-dissect --with for example if the program we run in the
image wants to parse /proc/mounts.
2023-08-14 22:43:12 +02:00
Frantisek Sumsal
01febfcdce test: explicitly specify a UTF-8 locale for UTF-8 shenanigans
As things don't work well without it:

$ LANG=C printf "\ufffe\n"
\uFFFE
2023-08-14 20:09:31 +02:00
Frantisek Sumsal
3ba954dd57 test: add coverage for #27953 2023-08-14 19:35:37 +02:00
Frantisek Sumsal
39f17be437 test: drop unnecessary log level setup
As we do that globally via a dropin.
2023-08-14 19:31:20 +02:00
Daan De Meyer
440f805c17 repart: Add Subvolumes= setting
This setting indicates which directories in the target partition
should be btrfs subvolumes. If set, we'll try to create these
directories as subvolumes.

Note that this only works when running as root without --offline,
as mkfs.btrfs does not support creating subvolumes.
2023-08-14 18:46:08 +02:00
Daan De Meyer
c55a97f1fd mkdir: Add support for creating subvolumes to mkdir_p_root()
We pass in the paths which should be subvolumes and try to create
those as subvolumes if we can.
2023-08-14 18:46:08 +02:00
Daan De Meyer
ad6fae7ffc copy: Add support for creating subvolumes to copy_tree_at()
The subvolumes set is a set of source inodes similar to how the
denylist hashmap contains source inodes as keys. It indicates
directories in the source tree that should become subvolumes in
the target tree.
2023-08-14 18:46:08 +02:00
Daan De Meyer
bc6a6130ac fs-util: Add XO_SUBVOLUME flag for xopenat()
When specified, xopenat() will try to create a btrfs subvolume and
fall back to creating a regular directory.
2023-08-14 18:46:08 +02:00
Daan De Meyer
e54c79ccc2 btrfs-util: Move subvolume creation to basic/btrfs.h
Also make btrfs_subvol_make() an openat style function.
2023-08-14 18:46:08 +02:00
Daan De Meyer
6819924c30 path-util: Make ret argument optional for path_extract_directory() 2023-08-14 18:46:06 +02:00
Daan De Meyer
672de611dd
Merge pull request #28828 from DaanDeMeyer/sysupdate-fdisk
fdisk-util: Make fdisk_new_context_fd() more generic
2023-08-14 14:23:03 +02:00
Daan De Meyer
e36c6210b7 dissect-image: Fix mount_point_is_available()
We call dir_is_empty() to check if the directory is empty but don't
take the result into account when returning from the function.
2023-08-14 14:22:38 +02:00
Daan De Meyer
2af02e6165 tree-wide: Always include <net/if.h> before related linux headers
Otherwise, we get redefinition errors if <net/if.h> is included later
on by another header.
2023-08-14 13:16:46 +02:00
Daan De Meyer
93f125a66f repart: Use 4096 as the fallback sector size for verity/luks/filesystems
When we don't know the sector size of the actual block device, because
we're building an image in a loopback file and no sector size was specified
explicitly, let's use 4096 as the sector size for filesystems, verity and
LUKS. This should be the most compatible option, since 4096 will also work
on devices with sector size 512 or 2048.

For the actual GPT partition table size, we stick with 512 as the default
value since UEFI firmware and the kernel will only try to read the GPT
partition table from the first LBA on the device and the sector size for
most devices is still 512. It can also be trivially modified when copying
the image to another device using --copy-from + --sector-size.
2023-08-14 11:04:52 +02:00
Daan De Meyer
4492eb1186 tree-wide: Use fdisk_new_context_at() more 2023-08-14 10:42:43 +02:00
Daan De Meyer
fd9fe57a26 fdisk-util: Make fdisk_new_context_fd() more generic
Let's make this an openat() style function so we can also pass a
device path.
2023-08-14 10:27:57 +02:00
Daan De Meyer
59120e89d8
Merge pull request #28827 from gioele/docs-fix-network-online-example-unit
docs/NETWORK_ONLINE: Move `Type=`, `RemainAfterExit=` to `[Service]` + Use `until` instead of `while !`
2023-08-14 10:08:20 +02:00
Gioele Barabucci
4a899c5a23 docs/NETWORK_ONLINE: Use until instead of while !
`until` is the standard POSIX shell builtin to be used when waiting for
a condition to appear.
2023-08-14 09:15:31 +02:00
Gioele Barabucci
3078ece8c4 docs/NETWORK_ONLINE: Move Type=, RemainAfterExit= to [Service]
`Type=` and `RemainAfterExit=` belong in `[Service]`, not `[Unit]`.

Fixes #28826
2023-08-14 09:15:21 +02:00
Susant Sahani
3912d49d0d network: ndisc - Ignore route information if reserved (10) value is
received

RFC4191 – Section 2.3 Route Information Option's Prf field:
If the Reserved (10) value is received, the Route Information Option MUST be ignored.
2023-08-14 12:43:38 +09:00
Mike Yuan
031a399d87 sleep: clear EFI HibernateLocation if writing kernel config fails
Follow-up for f1f331a252d22c15f37d03524cce967664358c5c
2023-08-13 22:12:32 +01:00
Yu Watanabe
57ffa99daa core: drop redundant assignment of UNIT_MERGED in unit_load_fragment()
If the unit is merged into another unit, then the load state is already
set in merge_by_names() -> unit_merge(). Let's drop the redundant assignment.
2023-08-13 12:56:08 +01:00
Yu Watanabe
e3390a22dc
Merge pull request #28744 from YHNdnzj/battery-check-minor-followup
battery-util: minor follow-ups
2023-08-13 19:27:56 +09:00
Yu Watanabe
88321d5d77
Merge pull request #28809 from YHNdnzj/proc-cmdline-true-when-missing
proc-cmdline: introduce PROC_CMDLINE_TRUE_WHEN_MISSING and use it where appropriate
2023-08-13 19:25:22 +09:00
Sam James
0b4e0943a0 basic: add comment for LFS assert in dirent-util.h
Followup to eb29296937b268e0140a2ab1cf204c2ebb72fa5a as promised; requested
by lennart at https://github.com/systemd/systemd/pull/27599#discussion_r1192619263.
2023-08-13 10:40:36 +01:00
Luca Boccassi
a0b0b670ab test: skip test-path on Salsa CI
Salsa is the Debian git forge. In the package build environment test-path
always fails as we cannot set up cgroups and so the path unit fails to
start. Skip the test in that environment.

Unfortunately meson doesn't allow to skip individual tests by name.
2023-08-13 10:27:04 +01:00
Mike Yuan
46b0b7e24a
battery-util: log_notice when unsure about battery state
Follow-up for 02f7f8aa4f1d0b7a24ee3cd5685a791771d9ded5

This deserves some highlight.

Addresses https://github.com/systemd/systemd/pull/28597#discussion_r1288592726
2023-08-13 13:02:58 +08:00
Mike Yuan
60d83c3e86
battery-util: don't log duplicate message
Follow-up for 02f7f8aa4f1d0b7a24ee3cd5685a791771d9ded5

Addresses https://github.com/systemd/systemd/pull/28597#discussion_r1288591215

> this is pretty unnecessary, battery_read_capacity_percentage()
debug logs on its own about this already, in more detailed way?
2023-08-13 13:02:57 +08:00
Mike Yuan
022a19c9f6
reboot-util: cache the result of shall_restore_state 2023-08-13 12:54:56 +08:00
Mike Yuan
ca05933a1b
battery-check: use proc_cmdline_get_bool 2023-08-13 12:52:16 +08:00
Mike Yuan
9d7b189bf3
fstab-util: make use of PROC_CMDLINE_TRUE_WHEN_MISSING 2023-08-13 12:52:15 +08:00
Mike Yuan
60499ed1c8
proc-cmdline: do assert on flags earlier 2023-08-13 12:52:15 +08:00
Mike Yuan
97d5f09bd2
proc-cmdline: introduce PROC_CMDLINE_TRUE_WHEN_MISSING 2023-08-13 12:52:15 +08:00
Luca Boccassi
f7590e3cb4 mkosi: disable key check on Fedora Rawhide for now
There are key issues so jobs are failing, disable the check for now
2023-08-12 22:58:46 +02:00
Yu Watanabe
0d290cbcd6 test: disable TEST-08-INITRD on ubuntu CI
Currently, the test does not work on ubuntu CI, unfortunately.
Let's disable it at least tentatively.
2023-08-12 18:12:43 +01:00
Yu Watanabe
c208bf3324 test: fix expected result of systemd-repart
Follow-up for e1536d1fb00787f0b064007573292d4ebc01971f.

Fixes #28807.
Replaces #28802.
2023-08-12 18:11:46 +01:00
Daan De Meyer
1d117b068f mkfs-util: Pass sector size to mkfs.f2fs
Let's pass the sector size to mkfs.f2fs as well.
2023-08-12 13:29:50 +02:00
Daan De Meyer
89dfac6b8f mkfs-util: Set sector size environment variables when invoking mkfs.ext4
Let's inform mkfs.ext4 about the sector size we're using.
2023-08-12 13:28:10 +02:00
Yu Watanabe
5cdcaf89be meson: drop unnecessary dependency on libidn 2023-08-12 20:04:51 +09:00
Yu Watanabe
ba77e00659
Merge pull request #28801 from mrc0mmand/initrd-shutdown-test
test: introduce TEST-08-INITRD
2023-08-12 20:04:06 +09:00
Rahil Bhimjiani
f5263dd09e man: kernel-install(8) add uki.conf in FILES & add ukify(1) in SEE ALSO
Signed-off-by: Rahil Bhimjiani <rahil3108@gmail.com>
2023-08-12 11:24:43 +01:00
Frantisek Sumsal
7294632c2c test: introduce TEST-08-INITRD
And move the initrd related tests from TEST-01-BASIC there.

Additionally, this should provide coverage for recemt shutdown initrd
related issues, see:
  - https://github.com/systemd/systemd/issues/28645
  - https://github.com/systemd/systemd/pull/28648
  - https://github.com/systemd/systemd/pull/28793
2023-08-12 10:13:56 +02:00