Lennart Poettering
6fba9a28b9
mountpoint-util: use ERRNO_IS_xyz() at more places
2024-07-01 15:45:15 +02:00
Lennart Poettering
8da6413860
mountpoint-util: add public helper for comparing file handles
...
We already have the code, let's move it to a function of its own and
export it.
2024-07-01 15:45:15 +02:00
Lennart Poettering
a89690f719
mountpoint-util: make is_name_to_handle_at_fatal_error() an exported API
...
And while we are at it, make it use ERRNO_IS_xyz() where appropriate.
And move it up a bit, so we can use in the whole of mountpoint-util.c
(which we want to later).
2024-07-01 15:45:15 +02:00
Matteo Croce
afb1fe36b8
introduce hashmap_ensure_replace()
...
Similar to hashmap_ensure_put(), but replace existing items in the map,
as hashmap_replace().
2024-06-28 18:55:31 +02:00
Mike Yuan
36e48f22af
mountpoint-util: do not assume symlinks are not mountpoints
...
They very much can be with the new mount API.
2024-06-27 14:57:16 +02:00
Lennart Poettering
fbdb7854a5
Merge pull request #33493 from poettering/stub-refactor
...
sd-stub: clean-up codebase/refactoring
2024-06-27 09:18:39 +02:00
Florian Schmaus
016e9d8d08
core/exec-invoke: use sched_setattr instead of sched_setscheduler
...
The kernel's sched_setattr interface allows for more control over a processes
scheduling attributes as the previously used sched_setscheduler interface.
Using sched_setattr is also the prerequisite for support of utilization
clamping (UCLAMP [1], see #26705 ) and allows to set sched_runtime. The latter,
sched_runtime, will probably become a relevant scheduling parameter of the
EEVDF scheduler [2, 3], and therefore will not only apply to processes
scheduled via SCHED_DEADLINE, but also for processes scheduled via
SCHED_OTHER/SCHED_BATCH (i.e., most processes).
1: https://docs.kernel.org/next/scheduler/sched-util-clamp.html
2: https://lwn.net/Articles/969062/
3: https://lwn.net/ml/linux-kernel/20240405110010.934104715@infradead.org/
2024-06-26 20:54:53 +02:00
Lennart Poettering
ba694646ea
iovec-util: make "struct iovec" and some helpers also available in EFI mode
...
The construct is a POSIX invention, but it's just so useful, let's also
define it in EFI mode, so that we can use similar constructs in EFI mode
and userspace.
2024-06-26 16:01:35 +02:00
Lennart Poettering
515e1e6d35
macro: move PTR_TO_SIZE() macros to fundamental
2024-06-26 16:01:20 +02:00
Lennart Poettering
ba81c365f8
macro: also move FOREACH_ARRAY()/FOREACH_ELEMENT() to fundamental
...
This is also very useful in EFI code.
2024-06-26 16:01:06 +02:00
Lennart Poettering
72b1809bbc
macro: move sizeof_field() macro into src/fundamental/
...
Let's make this macro available for our EFI code too.
2024-06-26 16:00:43 +02:00
Yu Watanabe
c8210d98a4
terminal-util: several cleanups for ColorMode
...
- introduce or rename usual enum values _MAX and _INVALID,
- introduce and use string table lookup functions,
- split out implementation of get_color_mode() to _impl(),
- add tests for get_color_mode().
2024-06-24 17:57:07 +09:00
Yu Watanabe
5f0b72e53b
terminal-util: merge COLOR_ON with COLOR_24BIT
...
Currently, we assume that there is no restriction on coloring when
COLOR_24BIT. Let's merge the two values.
Follow-up for a5efbf468c .
2024-06-24 17:57:07 +09:00
Yu Watanabe
6eabe9f2ff
terminal-util: use colon as separator for specifying color
...
Then, terminal will safely ignore unsupported features, like colored
underline.
Fixes a regression caused by 891abc9cf1 .
Fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1074073 .
Fixes #33449 .
2024-06-24 17:57:07 +09:00
Yu Watanabe
de732ade09
Merge pull request #33034 from yuwata/update-kernel-headers
...
basic/linux: update kernel headers from v6.10-rc3
2024-06-20 03:53:16 +09:00
Yu Watanabe
3176c78e68
Merge pull request #32868 from keszybz/more-whomification
...
Fix confusion between killer and prey
2024-06-20 02:59:14 +09:00
Yu Watanabe
0b37761936
missing: drop BCACHEFS_SUPER_MAGIC as it is now defined in linux/magic.h
2024-06-20 02:35:35 +09:00
Yu Watanabe
0cced2948f
basic/linux: update kernel headers from v6.10-rc3
...
This also
- merges basic/linux and shared/linux,
- moves BPF_JUMP_A() to basic/missing_bpf.h,
- copies from usrspace kernel headers directory generated by 'make headers',
rather than copying from kernel tree,
- copies const.h into our tree to reduce change in ethtool.h,
- copies auto_fs.h into our tree to reduce change in auto_dev-ioctl.h.
2024-06-20 02:35:35 +09:00
Zbigniew Jędrzejewski-Szmek
ff3f29537c
various: move ptr indicator to return value
2024-06-19 16:37:12 +02:00
Zbigniew Jędrzejewski-Szmek
bfd5a0687f
various: move const ptr indicator to return value
2024-06-19 16:28:28 +02:00
Yu Watanabe
f2d2aa0934
strv: replace always-true condition with assertion
...
Follow-up for aca093018c .
Fixes CID#1547105.
2024-06-18 21:09:04 +01:00
Luca Boccassi
5d42acada4
Merge pull request #33376 from yuwata/strv_sort_uniq
...
strv: introduce strv_sort_uniq()
2024-06-18 00:22:19 +01:00
Luca Boccassi
05c0671ce8
Merge pull request #33377 from yuwata/strbuf-cleanups
...
strbuf: several cleanups
2024-06-17 20:08:22 +01:00
Luca Boccassi
656b0f5031
Merge pull request #32559 from poettering/varlink-comments
...
varlink: add nice commenting to our varlink IDL data
2024-06-17 18:53:11 +01:00
Mike Yuan
f3d7ceb5c5
Merge pull request #32872 from YHNdnzj/pidref-inode
...
pidref: record pidfd inode number in PidRef struct
2024-06-17 18:47:44 +02:00
Yu Watanabe
e367b42664
tree-wide: replace strv_sort() + strv_uniq() -> strv_sort_uniq()
2024-06-18 00:37:50 +09:00
Yu Watanabe
6548aef1cd
strbuf: use _cleanup_ attribute at one more place
2024-06-18 00:26:15 +09:00
Yu Watanabe
c616e30e9c
strbuf: several cleanups
...
- use FOREACH_ARRAY(),
- add one missing assertion,
- reduce indentation.
2024-06-18 00:26:15 +09:00
Yu Watanabe
7b12b86450
strbuf: use CMP() macro
...
strbuf_child_entry.c is uint8_t, so using CMP() is safer.
This also adds missing assertions.
2024-06-18 00:26:15 +09:00
Yu Watanabe
3dc546ad75
strv: introduce strv_sort_uniq()
...
We often call strv_sort() and strv_uniq(). If a strv is already sorted.
uniquifying can be faster.
Prompted by https://github.com/systemd/systemd/pull/33012#discussion_r1636633627 .
2024-06-18 00:22:33 +09:00
Luca Boccassi
9981bc210a
Merge pull request #33355 from YHNdnzj/shutdown-cad
...
shutdown: re-enable CAD handling in kernel at start, several other cleanups
2024-06-17 09:19:08 +01:00
Lennart Poettering
aca093018c
strv: add new helper strv_rebreak_lines() with a simple line breaking algorithm
2024-06-17 09:20:21 +02:00
Lennart Poettering
9632f8b465
utf8: export utf8_char_console_width()
2024-06-17 09:20:21 +02:00
Mike Yuan
e2b812c804
string-util: introduce string_is_safe_ascii helper
2024-06-16 19:07:35 +02:00
Mike Yuan
4d06bf5922
basic/utf8: modernize ascii_is_valid_n, make ascii_is_valid static inline
2024-06-16 19:07:35 +02:00
Mike Yuan
7ff7161044
basic/utf8: modernize utf8_is_valid_n a bit
2024-06-16 19:07:34 +02:00
Luca Boccassi
2a00e92598
Merge pull request #33352 from YHNdnzj/freeconp-void
...
Trivial follow-ups for recent PRs
2024-06-15 19:57:13 +01:00
Mike Yuan
c1bf0571c0
string-util: modernize first_word a bit
2024-06-15 19:19:39 +02:00
Lennart Poettering
4d6222b6a4
random-util: add crypto_random_bytes_allocate_iovec()
...
Just a simple helper that allocates some memory, initializes it
randomly, and places this in a struct iovec.
2024-06-15 12:43:37 +01:00
Mike Yuan
c89d1e425a
missing_loop: add missing assertions for fallback values
2024-06-15 13:05:50 +02:00
Mike Yuan
609bc3ae16
Merge pull request #33037 from keszybz/dlopen-open-code-definitions
...
Make dlopen macros more explicit and drop mac_selinux_free()
2024-06-15 12:49:59 +02:00
Lennart Poettering
bba55185de
utf8: let utf8_console_width() handle NULL strings somewhat reasonably
2024-06-15 00:46:42 +01:00
Luca Boccassi
78fb0ca46d
Merge pull request #33325 from poettering/vsock-ret-optional
...
socket-util: make return parameter for socket_address_parse_vsock() o…
2024-06-15 00:45:28 +01:00
Raphaël Mélotte
56ab1c5449
src/basic/missing_loop.h: fix missing LOOP_SET_BLOCK_SIZE
...
Builds with kernels headers < 4.14 fail with:
../src/shared/loop-util.c: In function ‘loop_configure_fallback’:
../src/shared/loop-util.c:237:31: error: ‘LOOP_SET_BLOCK_SIZE’ undeclared (first use in this function); did you mean ‘LOOP_SET_DIRECT_IO’?
if (ioctl(fd, LOOP_SET_BLOCK_SIZE, (unsigned long) c->block_size) < 0)
^~~~~~~~~~~~~~~~~~~
LOOP_SET_DIRECT_IO
Fixes: https://github.com/systemd/systemd/issues/33341
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be >
2024-06-15 00:01:44 +01:00
Lennart Poettering
c29778a100
fs-util: add simple open_mkdir() wrapper
2024-06-14 23:50:59 +01:00
Lennart Poettering
b22635083a
string-util: make sure strrepa() doesn't doubly evaluate expressions
2024-06-14 23:50:03 +01:00
Lennart Poettering
dc163cd40b
fileio: add new helper write_base64_file_at() which encodes a binary object into base64 and writes it to a file
2024-06-14 22:50:33 +01:00
Lennart Poettering
b4aaba2bb0
utf8: assume tabs are 8 characters wide when written to console
2024-06-14 21:17:20 +01:00
Mike Yuan
15930d5d9f
pidref: record pidfd inode number in PidRef struct
...
Besides internal comparisons, the inode number of pidfds
might be interesting directly to users, too. In the future
this field should also be exposed, so that it can serve as
a unique identifier of a process (but only for display,
as there's no method to map this back to a pid or pidfd).
2024-06-14 16:59:13 +02:00
Mike Yuan
1b6239632d
pidref: introduce pidfd_inode_ids_supported helper
...
Also, correct the comment about pidfs (added in kernel 6.9
rather than 6.8).
Co-authored-by: Lennart Poettering <lennart@poettering.net >
2024-06-14 16:46:03 +02:00