Frantisek Sumsal [Fri, 2 Sep 2022 18:14:53 +0000 (20:14 +0200)]
test: make pylint happy
Frantisek Sumsal [Fri, 2 Sep 2022 18:06:12 +0000 (20:06 +0200)]
test: check for the output file in a loop
This should make the test faster on fast machines and more reliable on
slower/under-load machines, where the 4 sec sleep wasn't sometimes enough.
Spotted on C8S machines under load:
```
test_added_after (__main__.ExecutionResumeTest) ... FAIL
test_added_before (__main__.ExecutionResumeTest) ... ok
test_interleaved (__main__.ExecutionResumeTest) ... ok
test_issue_6533 (__main__.ExecutionResumeTest) ... ok
test_no_change (__main__.ExecutionResumeTest) ... ok
test_removal (__main__.ExecutionResumeTest) ... ok
test_swapped (__main__.ExecutionResumeTest) ... ok
======================================================================
FAIL: test_added_after (__main__.ExecutionResumeTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "./test/test-exec-deserialization.py", line 101, in check_output
with open(self.output_file, 'r') as log:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpjnec1dj4'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./test/test-exec-deserialization.py", line 150, in test_added_after
self.check_output(expected_output)
File "./test/test-exec-deserialization.py", line 104, in check_output
self.fail()
AssertionError: None
----------------------------------------------------------------------
Ran 7 tests in 44.270s
```
Lennart Poettering [Fri, 2 Sep 2022 05:18:10 +0000 (07:18 +0200)]
Merge pull request #24491 from poettering/compare-order
condition: unify operator parsing handling
Johannes Schauer Marin Rodrigues [Thu, 1 Sep 2022 09:49:19 +0000 (11:49 +0200)]
sysusers: make sp_lstchg shadow field reproducible
If the environment variable SOURCE_DATE_EPOCH is set, use its value
instead of the current time.
Luca Boccassi [Thu, 1 Sep 2022 23:04:32 +0000 (00:04 +0100)]
Merge pull request #24530 from poettering/loop-with-more-lock
a variety of loopback block device fixes
Lennart Poettering [Thu, 1 Sep 2022 21:20:11 +0000 (23:20 +0200)]
mention ConditionKernelVersion= compat break in NEWS
Lennart Poettering [Mon, 29 Aug 2022 11:42:44 +0000 (13:42 +0200)]
condition: change operator logic to use $= instead of =$ for glob comparisons
So this is a bit of a bikeshedding thing. But I think we should do this
nonetheless, before this is released.
Playing around with the glob matches I realized that "=$" is really hard
to grep for, since in shell code it's an often seen construct. Also,
when reading code I often found myself thinking first that the "$"
belongs to the rvalue instead of the operator, in a variable expansion
scheme.
If we move the $ character to the left hand, I think we are on the safer
side, since usually lvalues are much more restricted in character sets
than rvalues (at least most programming languages do enforce limits on
the character set for identifiers).
It makes it much easier to grep for the new operator, and easier to read
too. Example:
before:
ConditionOSRelease=ID=$fedora-*
after:
ConditionOSRelease=ID$=fedora-*
Lennart Poettering [Mon, 29 Aug 2022 11:27:11 +0000 (13:27 +0200)]
condition: change ConditionKernelVersion= so that =/!= mean literal string comparison, and ==/<> version comparison
The only reason to do this is to ensure uniformity with the other
options, that work like this, i.e. ConditionOSRelease= or
ConditionSecurity=.
This is a compatibility break, but a minor one, given that string
comparison and version comparison is mostly the same for equality and
inequality.
Lennart Poettering [Mon, 29 Aug 2022 09:10:38 +0000 (11:10 +0200)]
condition: allow literal string compares in SMBIOS condition
This ensures that "=" and "!=" are now interpreted as literal string
compares, and "==" and "<>" are for version compares.
This is not a compat break, since the SMBIOS stuff has not been included
in any release yet.
Main reason to do this, is to be systematic with the other conditions
that check for text stuff.
Lennart Poettering [Mon, 29 Aug 2022 09:10:18 +0000 (11:10 +0200)]
condition: allow fnmatch() matches in ConditionKernelVersion=
This is mostly to make things systematic, and brings no new
functionality, as not specifying any operator is identical to prefixing
with =$ anyway.
Lennart Poettering [Mon, 29 Aug 2022 09:09:48 +0000 (11:09 +0200)]
compare: add macro for operator charset
Lennart Poettering [Mon, 29 Aug 2022 09:08:18 +0000 (11:08 +0200)]
compare: propagate errors of fnmatch() as errors
Lennart Poettering [Fri, 26 Aug 2022 15:31:34 +0000 (17:31 +0200)]
compare: support textual operators, and port analyze over to it
Lennart Poettering [Fri, 26 Aug 2022 15:20:56 +0000 (17:20 +0200)]
compare: add two new operators "==" and "<>"
These two operators always indicate ordering comparisons, as opposed to
"=" and "!=" which depending on context mean literal string compares.
This is useful for ConditionOSRelease= for example, as this means
there's now always a way to do version compares.
Lennart Poettering [Fri, 26 Aug 2022 15:08:37 +0000 (17:08 +0200)]
compare: rework table in parse_compare_operator() to be array of structs
Let's change the lookup table to contain pairs of operator/strings,
instead of being indexed by operator.
The table isn't dense anymore, and this allows us to add alias strings
sooner or later.
Lennart Poettering [Fri, 26 Aug 2022 14:59:47 +0000 (16:59 +0200)]
condition: allow fnmatch compares for ConditionOSRelease=
We support this for smbios matches, hence do so for /etc/os-release
matches too.
Lennart Poettering [Fri, 26 Aug 2022 14:56:04 +0000 (16:56 +0200)]
compare: add flag for parse_compare_operator() to do equality/inequality comparison via simple string compares
This allows us to switch condition_test_osrelease() to use generic
version_or_fnmatch_compare() for executing the comparison.
Lennart Poettering [Fri, 26 Aug 2022 14:51:12 +0000 (16:51 +0200)]
compare: add a proper flags field for parse_compare_operator()
Lennart Poettering [Fri, 26 Aug 2022 14:31:30 +0000 (16:31 +0200)]
compare: drop use of FNM_EXTMATCH for now
None of our other fnmatch() calls make use of this, and the concept was
new to me at least. Given that this is only used for the recently added
SMBIOS field matches (and is not included in any release) let's disable
"extended" matches for now. We can certainly revisit this, and enable it
later if there is real demand, but if we do, we should probably add that
all over the place, not just for smbios matches.
Lennart Poettering [Fri, 26 Aug 2022 14:28:06 +0000 (16:28 +0200)]
comapre: add generic implementation for comapring with verscmp+fnmatch
Lennart Poettering [Fri, 26 Aug 2022 14:27:55 +0000 (16:27 +0200)]
compare: move test_order() → compare-operator.[ch]
Lennart Poettering [Fri, 26 Aug 2022 14:10:40 +0000 (16:10 +0200)]
condition: split out order operator enum
Let's move the operator enum into its own .c/.h file, so that we can
reuse it elsewhere, in particular systemd-analyze's compare-versions
logic.
Let's rename the concept CompareOperator, since it is nowadays
genericlaly about both order *and* fnmatch comparisons, hence just
naming it "order" is misleading.
Lennart Poettering [Thu, 1 Sep 2022 19:34:58 +0000 (21:34 +0200)]
loop-util: make clearer how LoopDevice objects that do not encapsulate an actual loopback device are set up
Lennart Poettering [Thu, 1 Sep 2022 13:57:10 +0000 (15:57 +0200)]
loop-util: lock the control device around clearing the loopback device and deleting it
This mirrors what we already do during allocation. We lock the control
device first, and then release the block device and then delete it.
This makes things substantially more robust as long all participants do
such locking: we won't attempt to delete a block device somebody else
already is using.
Lennart Poettering [Thu, 1 Sep 2022 13:42:32 +0000 (15:42 +0200)]
loop-util: close lock fd before trying LOOP_CLR_FD in failure path
If the loopback device is open more than once LOOP_CLR_FD will fail,
hence close the lock fd first explicitly, so there's definitely only one
fd left.
Lennart Poettering [Thu, 1 Sep 2022 13:17:01 +0000 (15:17 +0200)]
loop-util: drop code to attach empty file
Back when I wrote this code I wasn't aware of BLKPG and what it can do.
Hence I came up with this hack to attach an empty file to delete all
partitions. But today we can do better with BLKPG: let's just explicitly
remove all partitions, and then try again.
Lennart Poettering [Thu, 1 Sep 2022 13:00:30 +0000 (15:00 +0200)]
loop-util: rework how we lock loopback block devices
Let's rework how we lock loopback block devices in two ways:
1. Lock a separate fd, instead of the main block device fd. We already
did that for our internal locking when allocating loopback block
devices, but do so for the exposed locking (i.e.
loop_device_flock()), too, so that the lock is independent of the
main fd we actually use of IO.
2. Instead of locking the device during allocation of the loopback
device, then unlocking it (which will make udev run), and then
re-locking things if we need, let's instead just keep the lock the
whole time, to make things a bit safer and faster, and not have to
wait for udev at all. This is done by adding a "lock_op" parameter to
loop device allocation functions that declares the initial state of
the lock, and is one of LOCK_UN/LOCK_SH/LOCK_EX. This change also
shortens a lot of code, since we allocate + immediately lock loopback
devices pretty much everywhere.
Lennart Poettering [Thu, 1 Sep 2022 10:38:53 +0000 (12:38 +0200)]
dissect: drop partition removal code
This reverts a major chunk of
75d7e04eb4662a814c26010d447eed8a862f5ec1
Now that the loopback device code already destroys the partitions we
don't have to do this here anymore.
I am sure the right place to delete the partitions is in the loopback
code, since we really only should do that for loopback devices, see
bug #24431, and not on "real" block devices.
I am also not convinced dropping partitions the dissection logic doesn't
care about is a good idea, after all. The dissection stuff should
probably not consider itself the "owner" of the block devices it
analyzes, but take a more passive role: figure out what is what, but not
modify it.
Fixes: #24431
Lennart Poettering [Thu, 1 Sep 2022 12:59:56 +0000 (14:59 +0200)]
dissect: don't remove partitions explicitly on umount anymore
We do that now automatically when releasing the loopback device, hence
we can drop the redundant try entirely.
Lennart Poettering [Thu, 1 Sep 2022 10:32:48 +0000 (12:32 +0200)]
loop-util: when clearing a loopback device delete partitions first, and take BSD lock
Whenever we release a loopback device, let's first synchronously delete
all partitions, so that we know that's complete and not done
asynchronously in the background. Take a BSD lock on the device while
doing so, so that udev won't make the devices busy while we do this.
Lennart Poettering [Thu, 1 Sep 2022 17:08:10 +0000 (19:08 +0200)]
loop: convert impossibe EBADF cases into asserts
Yu Watanabe [Thu, 1 Sep 2022 17:05:04 +0000 (02:05 +0900)]
github: update differential shellcheck to v3.0.1
v3 supports external sources. Yey!
Yu Watanabe [Thu, 1 Sep 2022 15:53:38 +0000 (00:53 +0900)]
Merge pull request #24531 from poettering/loop-resize-part-modernizations
loopback block device resize partition modernizations
Lennart Poettering [Thu, 1 Sep 2022 10:14:15 +0000 (12:14 +0200)]
loop-util: use DEVNUM_FORMAT_STR more
Lennart Poettering [Thu, 1 Sep 2022 10:10:30 +0000 (12:10 +0200)]
loop-util: move resize partition ioctl call to blockdev-util.[ch]
The other BLKPG calls have wrappers in blockdev-util.[ch], let's place
them all there.
No change in behaviour.
Antonio Alvarez Feijoo [Thu, 1 Sep 2022 08:27:19 +0000 (10:27 +0200)]
man: remove reference to mkinitrd
dependabot[bot] [Thu, 1 Sep 2022 09:04:24 +0000 (09:04 +0000)]
build(deps): bump meson from 0.63.0 to 0.63.1 in /.github/workflows
Bumps [meson](https://github.com/mesonbuild/meson) from 0.63.0 to 0.63.1.
- [Release notes](https://github.com/mesonbuild/meson/releases)
- [Commits](https://github.com/mesonbuild/meson/compare/0.63.0...0.63.1)
---
updated-dependencies:
- dependency-name: meson
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Thu, 1 Sep 2022 09:04:00 +0000 (09:04 +0000)]
build(deps): bump github/super-linter from 4.9.5 to 4.9.6
Bumps [github/super-linter](https://github.com/github/super-linter) from 4.9.5 to 4.9.6.
- [Release notes](https://github.com/github/super-linter/releases)
- [Changelog](https://github.com/github/super-linter/blob/main/docs/release-process.md)
- [Commits](https://github.com/github/super-linter/compare/
2d64ac1c067c34beaf7d24cc12733cd46236f76e...
01d3218744765b55c3b5ffbb27e50961e50c33c5)
---
updated-dependencies:
- dependency-name: github/super-linter
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Thu, 1 Sep 2022 09:04:01 +0000 (09:04 +0000)]
build(deps): bump redhat-plumbers-in-action/advanced-issue-labeler
Bumps [redhat-plumbers-in-action/advanced-issue-labeler](https://github.com/redhat-plumbers-in-action/advanced-issue-labeler) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/redhat-plumbers-in-action/advanced-issue-labeler/releases)
- [Commits](https://github.com/redhat-plumbers-in-action/advanced-issue-labeler/compare/
b89eb39b97529bb7596cb4e716485a6d6f7dd74a...
d12b782ff92bc9ac535fb09c925aaa5be9e40f69)
---
updated-dependencies:
- dependency-name: redhat-plumbers-in-action/advanced-issue-labeler
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Lennart Poettering [Thu, 1 Sep 2022 07:48:28 +0000 (09:48 +0200)]
update TODO
Colin Walters [Wed, 31 Aug 2022 20:39:03 +0000 (16:39 -0400)]
tree-wide: Use "unmet" for condition checks, not "failed"
Often I end up debugging a problem on a system, and I
do e.g. `journalctl --grep=failed|error`. The use of the term
"failed" for condition checks adds a *lot* of unnecessary noise into
this.
Now, I know this regexp search isn't precise, but it has proven
to be useful to me.
I think "failed" is too strong of a term as a baseline, and also
just stands out to e.g. humans watching their servers boot or
whatever.
The term "met condition" is fairly widely used, e.g.
https://stackoverflow.com/questions/
63751794/what-does-the-condition-is-met-exactly-mean-in-programming-languages
Use that instead.
Yu Watanabe [Wed, 31 Aug 2022 15:09:28 +0000 (00:09 +0900)]
udevadm-settle: improve logs when we cannot access /run/udev/control
Addresses https://github.com/systemd/systemd/pull/24474#discussion_r959696663.
Frantisek Sumsal [Wed, 31 Aug 2022 18:03:00 +0000 (18:03 +0000)]
Merge pull request #24515 from yuwata/dissect-timeout
dissect-image: extend timeout for waiting devlink
Lennart Poettering [Wed, 31 Aug 2022 16:29:18 +0000 (18:29 +0200)]
update TODO
Jan Janssen [Wed, 31 Aug 2022 11:18:53 +0000 (13:18 +0200)]
tree-wide: Use devnum helpers in a few more places
Lennart Poettering [Mon, 29 Aug 2022 09:40:39 +0000 (11:40 +0200)]
test: don't mistake error for success
Follow-up for
acd3c8662465c1f36c0c0fc974584694928d9234
Luca Boccassi [Wed, 31 Aug 2022 13:57:12 +0000 (14:57 +0100)]
shellcheck/labeler: disable on systemd-security
Lennart Poettering [Mon, 29 Aug 2022 09:11:10 +0000 (11:11 +0200)]
condition: properly handle fnmatch() errors in ConditionHost
Lennart Poettering [Mon, 29 Aug 2022 09:07:11 +0000 (11:07 +0200)]
path-util: return error if fnmatch() fails
Yu Watanabe [Wed, 31 Aug 2022 14:12:26 +0000 (23:12 +0900)]
test-29-portable: enable debugging logs of udevd
Yu Watanabe [Wed, 31 Aug 2022 14:10:43 +0000 (23:10 +0900)]
test-29-portable: extend timeout for slower environment
Yu Watanabe [Wed, 31 Aug 2022 13:43:50 +0000 (22:43 +0900)]
dissect-image: add environment variable to control timeout for waiting devlink to be configured
Yu Watanabe [Wed, 31 Aug 2022 13:17:12 +0000 (22:17 +0900)]
udev-util: make device_wait_for_initialization() take relative timeout
Also make the timer event source floating.
Yu Watanabe [Wed, 31 Aug 2022 13:30:17 +0000 (22:30 +0900)]
udev-util: replace device_new_from_dev_path() with sd_device_new_from_devname()
Lennart Poettering [Mon, 29 Aug 2022 09:07:43 +0000 (11:07 +0200)]
hashmap: add comment explaining that set_fnmatch() handles fnmatch() errors as non-matches
Yu Watanabe [Wed, 31 Aug 2022 09:46:27 +0000 (18:46 +0900)]
Merge pull request #24499 from medhefgo/format-signedness
meson: Compile with -Werror=format-signedness
Swapnil Devesh [Tue, 30 Aug 2022 19:31:50 +0000 (01:01 +0530)]
hwdb: fix Dell Professional Sound Bar AE515 scancode (#24497)
Jan Janssen [Tue, 30 Aug 2022 07:57:53 +0000 (09:57 +0200)]
meson: Compile with -Werror=format-signedness
Jan Janssen [Tue, 30 Aug 2022 07:52:03 +0000 (09:52 +0200)]
tree-wide: Fix field width specifier warnings
The casting here isn't pretty, but at least it makes it obvious what is
happening instead of implicit and it allows enabling -Wformat-signedness.
Jan Janssen [Tue, 30 Aug 2022 07:28:56 +0000 (09:28 +0200)]
tree-wide: Fix format specifier warnings for %x
Unfortunately, hex output can only be produced with unsigned types. Some
cases can be fixed by producing the correct type, but a few simply have
to be cast. At least casting makes it explicit.
Jan Janssen [Mon, 29 Aug 2022 11:43:29 +0000 (13:43 +0200)]
tree-wide: Fix a some remaining format warnings by casting
Jan Janssen [Mon, 29 Aug 2022 11:36:19 +0000 (13:36 +0200)]
tree-wide: Mark some constants as unsigned
All these are really unsigned and used as such. This silences some
-Wformat-signedness warnings with gcc.
Jan Janssen [Mon, 29 Aug 2022 11:19:08 +0000 (13:19 +0200)]
journal: Show grcrypt error message instead of a raw code
Jan Janssen [Mon, 29 Aug 2022 11:08:31 +0000 (13:08 +0200)]
efivars: Parse into unsigned
The format specifiers for UUID parsing use %x, which expects unsigned.
Jan Janssen [Mon, 29 Aug 2022 11:07:11 +0000 (13:07 +0200)]
tree-wide: Use correct format specifiers
gcc will complain about all these with -Wformat-signedness.
Yu Watanabe [Mon, 29 Aug 2022 22:31:20 +0000 (07:31 +0900)]
Merge pull request #24474 from yuwata/udevadm-settle-cleanups
udevadm-settle: several cleanups
Yu Watanabe [Mon, 29 Aug 2022 22:31:05 +0000 (07:31 +0900)]
Merge pull request #24471 from yuwata/udevadm-wait-periodic-timer
udevadm-wait: introduce periodic timer for checking devices
Yu Watanabe [Mon, 29 Aug 2022 22:30:49 +0000 (07:30 +0900)]
Merge pull request #23888 from topimiettinen/networkd-netlabel-v2
network: NetLabel integration
LockBlock-dev [Mon, 29 Aug 2022 15:40:04 +0000 (15:40 +0000)]
hwdb: Force release calculator key on all HP Victus laptops
The key doesn't create a release event. This is a fix to make it work properly. I made sure the product is generic to work on all Victus laptops.
This fix #23006.
Lennart Poettering [Mon, 29 Aug 2022 13:11:15 +0000 (15:11 +0200)]
homed: don't use stat() data from an unrelated inode
This doesn't really change anything, since we know the stat data used
here also contains S_IFBLK, but it's frickin' confusing.
Yu Watanabe [Mon, 29 Aug 2022 16:10:43 +0000 (01:10 +0900)]
Merge pull request #24495 from poettering/loopback-block-msg
improve loopback warning message
Lennart Poettering [Mon, 29 Aug 2022 09:06:39 +0000 (11:06 +0200)]
strv: modernize strv_fnmatch() a bit
Frantisek Sumsal [Mon, 29 Aug 2022 15:35:07 +0000 (15:35 +0000)]
Merge pull request #24466 from mrc0mmand/TEST-75-tweaks
test: fix delv trust anchors location on Ubuntu
Lennart Poettering [Mon, 29 Aug 2022 13:11:09 +0000 (15:11 +0200)]
loopback: use ERRNO_IS_PRIVILEGE() where appropriate
Lennart Poettering [Mon, 29 Aug 2022 13:10:16 +0000 (15:10 +0200)]
loop: make 'Failed to configure loopback device' log message clearer
We print the very same log message for loopback block devices and for
loopback network devices. Let's better be clear what kind it is.
Lennart Poettering [Fri, 26 Aug 2022 13:59:07 +0000 (15:59 +0200)]
docs: use Title Case for section titles
as per:
https://titlecase.com/
Topi Miettinen [Sat, 20 Aug 2022 17:57:06 +0000 (20:57 +0300)]
test: testing for networkd NetLabel feature
Topi Miettinen [Sat, 20 Aug 2022 17:52:48 +0000 (20:52 +0300)]
network: NetLabel integration
New directive `NetLabel=` provides a method for integrating static and dynamic
network configuration into Linux NetLabel subsystem rules, used by Linux
Security Modules (LSMs) for network access control. The label, with suitable
LSM rules, can be used to control connectivity of (for example) a service with
peers in the local network. At least with SELinux, only the ingress can be
controlled but not egress. The benefit of using this setting is that it may be
possible to apply interface independent part of NetLabel configuration at very
early stage of system boot sequence, at the time when the network interfaces
are not available yet, with netlabelctl(8), and the per-interface configuration
with systemd-networkd once the interfaces appear later. Currently this feature
is only implemented for SELinux.
The option expects a single NetLabel label. The label must conform to lexical
restrictions of LSM labels. When an interface is configured with IP addresses,
the addresses and subnetwork masks will be appended to the NetLabel Fallback
Peer Labeling rules. They will be removed when the interface is
deconfigured. Failures to manage the labels will be ignored.
Example:
```
[DHCPv4]
NetLabel=system_u:object_r:localnet_peer_t:s0
```
With the above rules for interface `eth0`, when the interface is configured with
an IPv4 address of 10.0.0.123/8, `systemd-networkd` performs the equivalent of
`netlabelctl` operation
```
$ sudo netlabelctl unlbl add interface eth0 address:10.0.0.0/8 label:system_u:object_r:localnet_peer_t:s0
```
Result:
```
$ sudo netlabelctl -p unlbl list
...
interface: eth0
address: 10.0.0.0/8
label: "system_u:object_r:localnet_peer_t:s0"
...
```
Topi Miettinen [Sat, 27 Aug 2022 22:09:55 +0000 (07:09 +0900)]
sd-netlink: add NetLabel support
Topi Miettinen [Sat, 2 Jul 2022 14:15:42 +0000 (17:15 +0300)]
basic: generate netmasks for IPv6 and generic IP family addresses
Added functions to generate netmasks for IPv6 and generic IP family addresses.
Wenchao Hao [Sun, 28 Aug 2022 08:44:56 +0000 (16:44 +0800)]
scsi_id: retry inquiry ioctl if host_byte is DID_TRANSPORT_DISRUPTED
The inquiry is issued to kernel via ioctl, kernelspace would set
this inquiry command's retry count to 0 which means the command
would not be retried in kernel space even if the LLDs returned
a status which need to be retried. So we should take the retry
in user space.
Daniel Braunwarth [Sun, 28 Aug 2022 18:02:50 +0000 (20:02 +0200)]
condition: fix device-tree firmware path
The path /sys/firmware/device-tree doesn't exist. This should be either
/proc/device-tree or /sys/firmware/devicetree.
The first path is only a link. So lets use the second path.
See https://github.com/torvalds/linux/blob/v4.14/drivers/of/base.c#L218.
Yu Watanabe [Sat, 27 Aug 2022 07:13:27 +0000 (16:13 +0900)]
test-50-dissect: wait for and lock loop block partition devices
Yu Watanabe [Fri, 26 Aug 2022 16:17:46 +0000 (01:17 +0900)]
udevadm-wait: introduce periodic timer for checking devices
When --initialized=no is specified, it is not necessary to wait
for uevents to be processed by udevd.
Yu Watanabe [Sat, 27 Aug 2022 06:58:46 +0000 (15:58 +0900)]
Revert "test: wait for loop device to be removed"
This reverts commit
1a0e065e9f154f46fd68cd45f46310bc7df7a51c.
This does not work as expected.
After `losetup --detach`, the kernel lazily removes the loop device.
But, systemd-dissect should gracefully handle that. If it does not, then
it is a bug in systemd-dissect.
Let's not hide the real issue in systemd-dissect.
Yu Watanabe [Sat, 27 Aug 2022 16:11:47 +0000 (01:11 +0900)]
udevadm-settle: check validity of specified path
Yu Watanabe [Sat, 27 Aug 2022 16:06:08 +0000 (01:06 +0900)]
udevadm-settle: use sd-event
Yu Watanabe [Sat, 27 Aug 2022 16:04:56 +0000 (01:04 +0900)]
udevadm-settle: rename arg_timeout -> arg_timeout_usec
Yu Watanabe [Sat, 27 Aug 2022 15:45:21 +0000 (00:45 +0900)]
udevadm-settle: check if udevd is running
Yu Watanabe [Sat, 27 Aug 2022 15:31:13 +0000 (00:31 +0900)]
udevadm-settle: make failure in udev_ctrl_new() critical
It should not fail in general.
Yu Watanabe [Sat, 27 Aug 2022 15:33:15 +0000 (00:33 +0900)]
udevadm-settle: emit deprecated warning earlier
adrian5 [Mon, 29 Aug 2022 02:24:56 +0000 (04:24 +0200)]
man: Minor punctuation and word tweak
Yu Watanabe [Sat, 27 Aug 2022 06:44:17 +0000 (15:44 +0900)]
udev-util: minor cleanups for on_ac_power()
Follow-ups for #24420.
Luca Boccassi [Sun, 28 Aug 2022 20:09:10 +0000 (21:09 +0100)]
Merge pull request #24475 from yuwata/devpath
sd-device: introduce two helper functions for devnum
Yu Watanabe [Sun, 28 Aug 2022 03:54:52 +0000 (12:54 +0900)]
network: drop unused timestamp
Yu Watanabe [Sun, 28 Aug 2022 02:58:52 +0000 (11:58 +0900)]
test-64: run one more subtest on non-KVM environment with relaxed condition
Uriel Corfa [Sun, 28 Aug 2022 07:56:46 +0000 (09:56 +0200)]
docs: fix incorrect env var name for credentials directory
CREDENTIAL_PATH appears nowhere in the systemd source code.
$CREDENTIALS_DIRECTORY is what is used instead.
Yu Watanabe [Sat, 27 Aug 2022 21:10:44 +0000 (06:10 +0900)]
shell-completion: drop unused $mode
Fixes #24473.
Yu Watanabe [Sat, 27 Aug 2022 20:52:12 +0000 (05:52 +0900)]
udevadm: replace find_device_from_path() with sd_device_new_from_path()
Yu Watanabe [Sat, 27 Aug 2022 22:47:55 +0000 (07:47 +0900)]
test-network: add missing online check