1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +03:00
Commit Graph

76188 Commits

Author SHA1 Message Date
Daan De Meyer
6c8e9ba2f0
Merge pull request #34266 from DaanDeMeyer/fix
mkfs-util: Make sure we pass non option arguments last
2024-09-05 18:36:44 +02:00
Lennart Poettering
6f5cf41570 time-util: rework localtime_or_gmtime() into localtime_or_gmtime_usec()
We typically want to deal in usec_t, hence let's change the prototype
accordingly, and do proper range checks. Also, make sure are not
confused by negative times.

Do something similar for mktime_or_timegm().

This is a more comprehensive alternative to #34065

Replaces: #34065
2024-09-05 17:40:25 +02:00
Lennart Poettering
9640db13f0 hwclock-util: the struct tm parameter is not a pure return parameter, it's also an input parameter 2024-09-05 17:19:14 +02:00
Lennart Poettering
41902bacc3
Merge pull request #34256 from YHNdnzj/pid1-followup
core: follow-ups for recent PRs
2024-09-05 17:01:10 +02:00
Daan De Meyer
9b18dcf8c2 mkfs-util: Make sure we pass non option arguments last
POSIX specifies that getopt() stops parsing options when it encounters
a non-option argument, so let's make sure we pass non-option arguments
last.
2024-09-05 16:37:34 +02:00
Daan De Meyer
362efc3804 mkfs-util: Fix error handling 2024-09-05 16:12:36 +02:00
Lennart Poettering
e3cd748e7c update TODO 2024-09-05 15:56:28 +02:00
Yu Watanabe
fe6049d021 test: fix indentation 2024-09-05 18:01:42 +09:00
Yu Watanabe
56d6ebd404 test: add test case for systemd-repart --seed=random
For issue #34257.
2024-09-05 18:01:42 +09:00
Lennart Poettering
548b744b7b
Merge pull request #34235 from yuwata/firstboot-systemctl-trivial-cleanups
firstboot,systemctl: trivial cleanups
2024-09-05 09:22:54 +02:00
Yu Watanabe
b8a8000aba repart: initialize seed earlier
As the seed is used by context_load_partition_table() -> derive_uuid().

Fixes #34257.
2024-09-05 15:49:24 +09:00
Yu Watanabe
8d78191a46 man: ARP=no also disables IPv6 Neighbor Discovery Protocol
Addresses https://github.com/systemd/systemd/issues/18063#issuecomment-2323410288.
2024-09-05 10:20:18 +09:00
Yu Watanabe
3ce22ee7f8
Merge pull request #34090 from DaanDeMeyer/cow-fix
Rework COW <=> NOCOW copying behavior
2024-09-05 10:19:49 +09:00
Michael Ferrari
87e0eafe03 firstboot: reduce log level of timezone validation
An error message is already printed directly after, so the user already
knows that the validation failed. This also isn't done for the other
validation functions.
2024-09-05 10:08:42 +09:00
Michael Ferrari
3f084827ff firstboot: reduce empty input log level
The user knows they pressed `Enter`, no need to inform them again about
that they skipped the prompt.
2024-09-05 10:08:42 +09:00
Michael Ferrari
b7c0d924bd firstboot: add newline before key wait
When sd-firstboot is ran during first boot of a new system this missing
newline leads to a bootup message being appended on the same line as the
message instructing to press a key.
2024-09-05 10:08:38 +09:00
Yu Watanabe
c47f2a26b0 test: add test cases of "systemctl cat" for nonexistent units 2024-09-05 10:08:03 +09:00
Ivan Shapovalov
b498f250b2 systemctl: cat: do not exit(1) on missing units if --force
We are eating the error message if `--force` is set, so do not return
a non-zero exit code either.
2024-09-05 10:08:03 +09:00
Yu Watanabe
1306567a40
Merge pull request #34212 from YHNdnzj/recvmsg-safe-trunc
tree-wide: handle MSG_TRUNC with recvmsg_safe()
2024-09-05 07:22:28 +09:00
Mike Yuan
7a9f0125bb
core: rename BindJournalSockets= to BindLogSockets=
Addresses https://github.com/systemd/systemd/pull/32487#issuecomment-2328465309
2024-09-04 21:44:25 +02:00
Mike Yuan
cc4f736ae3
core/namespace: add comment to explain the non-obvious assumption on /run/systemd/journal/
Follow-up for 119820f8ab

Addresses https://github.com/systemd/systemd/pull/32487#discussion_r1743493196
2024-09-04 21:44:25 +02:00
Mike Yuan
95f9e85aaa
core/namespace: make bind mounted journal sockets nosuid + noexec + nodev
Addresses https://github.com/systemd/systemd/pull/32487#discussion_r1743464797
2024-09-04 21:44:24 +02:00
Mike Yuan
7583859ba8
core/exec-invoke: use bind_mount_add() where appropriate 2024-09-04 21:44:24 +02:00
Mike Yuan
432aab24b0
core/namespace: use GREEDY_REALLOC at one more place 2024-09-04 21:44:24 +02:00
Mike Yuan
7f2a7ccf7d
core/unit: introduce unit_set_debug_invocation()
Given that debug_invocation is a Unit thing, make
service_set_debug_invocation() generic. Plus, don't
say "Service failed", as it would be spurious when
Restart=always.
2024-09-04 21:37:20 +02:00
Mike Yuan
40233f70cc
core: add missing serialization for Unit.debug_invocation
Follow-up for 7d8bbfbe08
2024-09-04 21:37:20 +02:00
Mike Yuan
7e6ef4340b
core/service: modernize service_load_pid_file() a bit 2024-09-04 21:37:20 +02:00
Mike Yuan
0ec3d45bcc
core/service: minor coding style tweak 2024-09-04 21:37:19 +02:00
Daan De Meyer
b1cfa93080 copy: Introduce COPY_NOCOW_AFTER and use it when copying images
When dealing with copying COW images, we have to make a tradeoff:

- Either we don't touch the NOCOW bit on the copied file COW and get
  an instant copy because we're able to reflink, but we might get
  reduced performance if the source file was COW as COW files and lots
  of random writes don't play well together.
- Or we force NOCOW for the copied file, which means we have to do a
  full copy as reflinking from COW files to NOCOW files or vice versa
  is not supported.

In exec-invoke.c, we've opted for the first option. In nspawn.c and
discover-image.c, we've opted for the second option.

In nspawn, this applies to the --ephemeral option to make ephemeral
copies. In discover-image.c, this applies to cloning images into
/var/lib/machines. Both these features might be used to run many
machines of the same original image. We really don't want to force
a full copy onto users in these scenarios when they're expecting
reflink behavior, leading to them running out of disk space. Instead,
degraded performance in their machines is a much less severe issue,
which they will discover on their own if it affects them, at which
point they can make their original image NOCOW at which point they'll
get both the reflinks and better performance.

Given the above reasoning, let's switch nspawn.c and discover-image.c
to use COPY_NOCOW_AFTER as well instead of enabling NOCOW upfront and
forcing a copy if the original source image is COW.
2024-09-04 19:23:16 +02:00
Daan De Meyer
8af3b12fe0 copy: Copy nocow flag by default
Unless otherwise requested, if we're going to copy a nocow file, make the
target file nocow as well.

Aside from keeping the performance characteristics of the cow or nocow file
intact, reflinking also only works from cow to cow or nocow to nocow files.
Reflinking from cow to nocow or nocow to cow files does not work and can
easily lead to unexpected copies for users, so by keeping the nocow bit
intact across copies by default we also make sure reflinks always work.
2024-09-04 19:23:13 +02:00
Daan De Meyer
07862c9fc2 chattr-util: Optimize read_attr_at()
Let's make sure we only reopen O_PATH file descriptors.
2024-09-04 18:51:53 +02:00
Mike Yuan
ad501930d7
socket-util: make recvmsg_safe() handle MSG_TRUNC too
Also, unify MSG_TRUNC handling all across the codebase.
2024-09-04 18:51:44 +02:00
Mike Yuan
c1bf6f148e
machine-dbus: use in_same_namespace() at one more place 2024-09-04 18:50:55 +02:00
Mike Yuan
3c0d765375
udev-ctrl: drop unused next_datagram_size_fd() call 2024-09-04 18:50:55 +02:00
Mike Yuan
e8b9767f51
core/manager: close all cmsg fds where none is expected 2024-09-04 18:50:55 +02:00
Mike Yuan
3ad7f79023
udev-ctrl: add missing size check of received message
While at it, downgrade log level of ignored errors to LOG_WARNING.
2024-09-04 18:50:55 +02:00
Mike Yuan
190a095380
audit-util: check correct errno 2024-09-04 18:50:54 +02:00
Mike Yuan
6f0d6ef7ce
sd-varlink: check correct errno
'n' can also be assigned from recvmsg_safe(), which is our own
func returning negative errno.
2024-09-04 18:50:54 +02:00
Mike Yuan
d6024cb3c1
fd-util: also close pidfd from SCM_PIDFD in cmsg_close_all() 2024-09-04 18:50:54 +02:00
Daan De Meyer
74c9606025 Revert "copy: Copy file attributes as well"
This reverts commit 2356104efc.
2024-09-04 18:49:05 +02:00
Daan De Meyer
519216b71f Revert "tree-wide: Don't explicity disable copy-on-write when copying images"
Let's still try to disable COW after copying. It won't do much, but
it doesn't hurt either.

See https://github.com/systemd/systemd/pull/33825/files#r1727288871.

This reverts commit 42e9288180.
2024-09-04 18:49:05 +02:00
Daan De Meyer
144e53b333
Merge pull request #34251 from DaanDeMeyer/multiq
network: Add support for multiq qdisc
2024-09-04 16:03:32 +02:00
Daan De Meyer
2b9ced9072 network: Add support for mq qdisc 2024-09-04 14:56:40 +02:00
Daan De Meyer
3f14557ce0 network: Add support for multiq qdisc 2024-09-04 14:56:37 +02:00
Mike Yuan
5d6d2d6ced
Merge pull request #34205 from yuwata/pretty-print-buffering
pretty-print: introduce WITH_BUFFERED_STDERR macro to enable buffering
2024-09-04 14:34:21 +02:00
Daan De Meyer
5064de1383
Merge pull request #34224 from yuwata/network-make-qdisc-reconfigurable
network: make qdisc reconfigurable
2024-09-04 12:07:16 +02:00
Daan De Meyer
c37a68b271
Merge pull request #32487 from YHNdnzj/bind-journal-sockets
core: introduce BindJournalSockets=
2024-09-04 09:26:58 +02:00
dependabot[bot]
6df2b5033e build(deps): bump softprops/action-gh-release from 2.0.5 to 2.0.8
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.0.5 to 2.0.8.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](69320dbe05...c062e08bd5)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-04 01:25:17 +02:00
dependabot[bot]
a3e3b58c8e build(deps): bump super-linter/super-linter from 6.6.0 to 7.1.0
Bumps [super-linter/super-linter](https://github.com/super-linter/super-linter) from 6.6.0 to 7.1.0.
- [Release notes](https://github.com/super-linter/super-linter/releases)
- [Changelog](https://github.com/super-linter/super-linter/blob/main/CHANGELOG.md)
- [Commits](88ea3923a7...b92721f792)

---
updated-dependencies:
- dependency-name: super-linter/super-linter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-04 01:24:40 +02:00
Mike Yuan
1a64b42c46
TEST-50-DISSECT: add explicit coverage for BindJournalSockets= 2024-09-03 21:04:52 +02:00