1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +03:00
systemd/test/units
Luca Boccassi ac1f3ad05f verity: re-use already open devices if the hashes match
Opening a verity device is an expensive operation. The kernelspace operations
are mostly sequential with a global lock held regardless of which device
is being opened. In userspace jumps in and out of multiple libraries are
required. When signatures are used, there's the additional cryptographic
checks.

We know when two devices are identical: they have the same root hash.
If libcrypsetup returns EEXIST, double check that the hashes are really
the same, and that either both or none have a signature, and if everything
matches simply remount the already open device. The kernel will do
reference counting for us.

In order to quickly and reliably discover if a device is already open,
change the node naming scheme from '/dev/mapper/major:minor-verity' to
'/dev/mapper/$roothash-verity'.

Unfortunately libdevmapper is not 100% reliable, so in some case it
will say that the device already exists and it is active, but in
reality it is not usable. Fallback to an individually-activated
unique device name in those cases for robustness.
2020-07-21 23:42:03 +01:00
..
loopy.service.d
unit-.service.d
unit-with-.service.d
unit-with-multiple-.service.d
unit-with-multiple-dashes.service.d
a-conj.service
a.service
autorelabel.service test/TEST-06: make autorelabel.service a static file too 2020-03-28 11:46:47 +01:00
b.service
basic.target
c.service
d.service
daughter.service
dml-discard-empty.service
dml-discard-set-ml.service
dml-discard.slice
dml-override-empty.service
dml-override.slice
dml-passthrough-empty.service
dml-passthrough-set-dml.service
dml-passthrough-set-ml.service
dml-passthrough.slice
dml.slice
e.service
end.service test: move TEST-01-BASIC setup to static files 2020-03-28 11:46:47 +01:00
f.service
g.service
grandchild.service
h.service
hello-after-sleep.target
hello.service
i.service
loopy2.service
loopy3.service
loopy4.service
loopy.service
nomem.slice
nomemleaf.service
parent-deep.slice
parent.slice
sched_idle_bad.service
sched_idle_ok.service
sched_rr_bad.service
sched_rr_change.service
sched_rr_ok.service
shutdown.target
sleep.service
sockets.target
son.service
sysinit.target
test-honor-first-shutdown.service test: use KILL instead of SIGKILL in TEST-52-HONORFIRSTSHUTDOWN 2020-07-05 11:00:57 +01:00
test-honor-first-shutdown.sh feature to honor first shutdown request to completion 2020-06-24 09:42:01 +02:00
testsuite-01.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-02.service test: make TEST-02-CRYPTSETUP a bit more robust 2020-06-10 17:42:25 +02:00
testsuite-03.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-03.sh test: move TEST-03-JOBS setup to static files 2020-03-28 11:46:47 +01:00
testsuite-04.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-04.sh test: Stricter test case for #15654 (Add more checks) 2020-05-13 21:32:45 +02:00
testsuite-05.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-05.sh test: use show -P in places 2020-04-03 18:24:21 +02:00
testsuite-06.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-06.sh test/TEST-06: skip test if no selinux 2020-03-28 11:46:47 +01:00
testsuite-07.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-07.sh test: move TEST-07-ISSUE-1981 setup to static files 2020-03-28 11:46:47 +01:00
testsuite-08.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-09.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-10.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-11.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-11.sh test: move TEST-11-ISSUE-3166 setup to static files 2020-03-28 11:46:47 +01:00
testsuite-12.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-12.sh test: move TEST-12-ISSUE-3171 setup to static files 2020-03-28 11:46:47 +01:00
testsuite-13.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-13.sh nspawn: mount os-release in two steps to make it read-only 2020-07-16 09:59:59 +01:00
testsuite-14.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-14.sh test: move most of TEST-14-MACHINE-ID setup to static files 2020-03-28 11:46:47 +01:00
testsuite-15.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-15.sh test/TEST-15: call daemon-reload in two more places 2020-03-28 11:46:47 +01:00
testsuite-16.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-16.sh test: move TEST-16-EXTEND-TIMEOUT setup to static files 2020-03-28 11:46:47 +01:00
testsuite-17.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-17.sh test: move TEST-17-WANTS setup to static files 2020-03-28 11:46:47 +01:00
testsuite-18.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-18.sh test: move TEST-18-FAILUREACTION setup to static files 2020-03-28 11:46:47 +01:00
testsuite-19.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-19.sh test: move TEST-19-DELEGATE setup to static files 2020-03-28 11:46:47 +01:00
testsuite-20.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-20.sh test: use show -P in places 2020-04-03 18:24:21 +02:00
testsuite-22.01.sh test: move TEST-22-TMPFILES setup to static files 2020-03-28 11:46:47 +01:00
testsuite-22.02.sh test: move TEST-22-TMPFILES setup to static files 2020-03-28 11:46:47 +01:00
testsuite-22.03.sh test: move TEST-22-TMPFILES setup to static files 2020-03-28 11:46:47 +01:00
testsuite-22.04.sh test: move TEST-22-TMPFILES setup to static files 2020-03-28 11:46:47 +01:00
testsuite-22.05.sh test: move TEST-22-TMPFILES setup to static files 2020-03-28 11:46:47 +01:00
testsuite-22.06.sh test: move TEST-22-TMPFILES setup to static files 2020-03-28 11:46:47 +01:00
testsuite-22.07.sh test: move TEST-22-TMPFILES setup to static files 2020-03-28 11:46:47 +01:00
testsuite-22.08.sh test: move TEST-22-TMPFILES setup to static files 2020-03-28 11:46:47 +01:00
testsuite-22.09.sh test: move TEST-22-TMPFILES setup to static files 2020-03-28 11:46:47 +01:00
testsuite-22.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-22.sh test: move TEST-22-TMPFILES setup to static files 2020-03-28 11:46:47 +01:00
testsuite-23.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-23.sh test: move TEST-23-TYPE-EXEC setup to static files 2020-03-28 11:46:47 +01:00
testsuite-24.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-24.sh test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-25.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-25.sh tree-wide: fix spelling errors 2020-04-21 23:21:08 +02:00
testsuite-26.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-26.sh test: move TEST-26-SETENV setup to static files 2020-03-28 11:46:47 +01:00
testsuite-27.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-27.sh test: move TEST-27-STDOUTFILE setup to static files 2020-03-28 11:46:47 +01:00
testsuite-28.service test/TEST-28: avoid race in handling of /testok 2020-03-28 11:51:29 +01:00
testsuite-29.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-29.sh test: move TEST-29-UDEV-ID_RENAMING setup to static files 2020-03-28 11:46:47 +01:00
testsuite-30.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-30.sh test: move TEST-30-ONCLOCKCHANGE setup to static files 2020-03-28 11:46:47 +01:00
testsuite-31.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-31.sh test: move TEST-31-DEVICE-ENUMERATION setup to static files 2020-03-28 11:46:47 +01:00
testsuite-32.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-32.sh test: use show -P in places 2020-04-03 18:24:21 +02:00
testsuite-33.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-33.sh test: move TEST-33-CLEAN-UNIT setup to static files 2020-03-28 11:46:47 +01:00
testsuite-34.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-34.sh test: move TEST-34-DYNAMICUSERMIGRATE setup to static files 2020-03-28 11:46:47 +01:00
testsuite-36.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-36.sh Add quotes for -n 2020-06-26 15:12:29 +02:00
testsuite-37.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-37.sh test: move TEST-37-RUNTIMEDIRECTORYPRESERVE setup to static files 2020-03-28 11:46:48 +01:00
testsuite-38-sleep.service test: add test for cgroup v2 freezer support 2020-04-30 19:02:55 +02:00
testsuite-38.service test: add test for cgroup v2 freezer support 2020-04-30 19:02:55 +02:00
testsuite-38.sh tests: sleep a bit and give kernel time to perform the action after manual freeze/thaw 2020-06-05 16:10:28 +02:00
testsuite-39.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-39.sh test: move TEST-39-EXECRELOAD setup to static files 2020-03-28 11:46:48 +01:00
testsuite-40.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-40.sh test: move TEST-40-EXEC-COMMAND-EX setup to static files 2020-03-28 11:46:48 +01:00
testsuite-41.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-41.sh test: use show -P in places 2020-04-03 18:24:21 +02:00
testsuite-42.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-42.sh test: move TEST-42-EXECSTOPPOST setup to static files 2020-03-28 11:46:48 +01:00
testsuite-43.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-43.sh test: make the systemd-run calls synchronous 2020-05-27 08:36:57 +02:00
testsuite-44.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-44.sh test: move TEST-44-* to static files 2020-03-28 11:46:48 +01:00
testsuite-46.service units: make systemd-homed.service installable 2020-03-31 14:55:14 +02:00
testsuite-46.sh test: drop Disk (Size|Free|Floor|Ceiling) fields prior comparing 2020-04-21 22:09:35 +02:00
testsuite-47-repro.service test: move TEST-47-* to static files 2020-03-28 11:50:53 +01:00
testsuite-47-repro.sh test: move TEST-47-* to static files 2020-03-28 11:50:53 +01:00
testsuite-47.service test: make sure to reset state before starting integration tests 2020-03-28 11:51:27 +01:00
testsuite-47.sh test: bump the TEST-47 sleeps once again 2020-07-08 22:09:55 +02:00
testsuite-48.service core: reload cache if it's dirty when starting a UNIT_NOT_FOUND unit 2020-05-30 16:50:05 +02:00
testsuite-48.sh core: refresh unit cache when building a transaction if UNIT_NOT_FOUND 2020-07-07 10:09:24 +02:00
testsuite-49.service test: add integration test for udev event timeout 2020-06-05 11:09:21 +02:00
testsuite-49.sh test: add integration test for udev event timeout 2020-06-05 11:09:21 +02:00
testsuite-50.service dissect: support single-filesystem verity images with external verity hash 2020-06-09 12:19:21 +01:00
testsuite-50.sh verity: re-use already open devices if the hashes match 2020-07-21 23:42:03 +01:00
testsuite-51-repro-1.service core: don't consider SERVICE_SKIP_CONDITION for abnormal or failure restarts 2020-06-10 17:12:55 +02:00
testsuite-51-repro-2.service core: don't consider SERVICE_SKIP_CONDITION for abnormal or failure restarts 2020-06-10 17:12:55 +02:00
testsuite-51.service core: don't consider SERVICE_SKIP_CONDITION for abnormal or failure restarts 2020-06-10 17:12:55 +02:00
testsuite-51.sh core: don't consider SERVICE_SKIP_CONDITION for abnormal or failure restarts 2020-06-10 17:12:55 +02:00
testsuite-53.service timer: Adjust calendar timers based on monotonic timer instead of realtime 2020-07-15 09:23:09 +02:00
testsuite-53.sh timer: Adjust calendar timers based on monotonic timer instead of realtime 2020-07-15 09:23:09 +02:00
testsuite.target
timers.target
unit-with-multiple-dashes.service
unstoppable.service