2 # SPDX-License-Identifier: LGPL-2.1-or-later
8 function check_validity
() {
11 for f
in /run
/udev
/watch
/*; do
12 ID_OR_HANDLE
="$(readlink "$f")"
13 test -L "/run/udev/watch/${ID_OR_HANDLE}"
14 test "$(readlink "/run
/udev
/watch
/${ID_OR_HANDLE}")" = "$(basename "$f")"
20 systemctl restart systemd-udevd.service
21 udevadm control
--ping
26 udevadm trigger
-w --action add
--subsystem-match=block
31 udevadm trigger
-w --action change
--subsystem-match=block
37 mkdir
-p /run
/udev
/rules.d
/
39 cat >/run
/udev
/rules.d
/00-debug.rules
<<EOF
40 SUBSYSTEM=="block", KERNEL=="sda*", OPTIONS="log_level=debug"
43 cat >/run
/udev
/rules.d
/50-testsuite.rules
<<EOF
44 ACTION=="add", SUBSYSTEM=="block", KERNEL=="sda", OPTIONS:="watch"
49 ROOTDEV
="$(bootctl -RR)"
51 MAJOR
="$(udevadm info "$ROOTDEV" | grep -e '^E: MAJOR=' | sed -e 's/^E: MAJOR=//')"
52 MINOR
="$(udevadm info "$ROOTDEV" | grep -e '^E: MINOR=' | sed -e 's/^E: MINOR=//')"
53 test -L "/run/udev/watch/b${MAJOR}:${MINOR}"
55 cat >/run
/udev
/rules.d
/50-testsuite.rules
<<EOF
56 ACTION=="change", SUBSYSTEM=="block", KERNEL=="sda", OPTIONS:="nowatch"
61 MAJOR
="$(udevadm info "$ROOTDEV" | grep -e '^E: MAJOR=' | sed -e 's/^E: MAJOR=//')"
62 MINOR
="$(udevadm info "$ROOTDEV" | grep -e '^E: MINOR=' | sed -e 's/^E: MINOR=//')"
63 test ! -e "/run/udev/watch/b${MAJOR}:${MINOR}"
65 rm /run
/udev
/rules.d
/00-debug.rules
66 rm /run
/udev
/rules.d
/50-testsuite.rules
68 udevadm control
--reload
69 systemctl reset-failed systemd-udevd.service