mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-17 16:47:50 +00:00
With GCOV=1, zdtm.py passes the CRIU workspace parent as an external bind-mount into the test namespace (ZDTM_CRIU). On restore in the uns flavor CRIU calls open_tree(OPEN_TREE_CLONE) on that path. Because the workspace is a parent of the user namespace mount tree, its mounts are MNT_LOCKED, and open_tree returns EINVAL. Fix by creating a private bind-mount of the workspace parent at '../criu.tree' before each test run, then using that path as the source of the bind-mount inside the ZDTM namespace (ns.c). On restore, point the external mapping at 'criu.tree' instead of the raw workspace path. Because criu.tree is MS_PRIVATE and is created before any CRIU run, cgroupfs submounts that CRIU later creates inside the workspace (cg_yard via mkdtemp) do not propagate into it. open_tree(OPEN_TREE_CLONE, criu.tree) therefore sees no locked submounts and succeeds. This replaces the earlier --work-dir workaround, which was correct in principle but broke the RPC test path where criu_rpc.__set_opts has no handler for --work-dir. Fixes: #2911 Signed-off-by: Ahmed Elaidy <elaidya225@gmail.com> |
||
|---|---|---|
| .. | ||
| compel | ||
| cuda-checkpoint | ||
| exhaustive | ||
| inhfd | ||
| javaTests | ||
| jenkins | ||
| libfault | ||
| others | ||
| pki | ||
| plugins | ||
| zdtm | ||
| .gitignore | ||
| abrt.sh | ||
| crit-recode.py | ||
| empty-netns-prep.sh | ||
| groups.desc | ||
| inhfd.desc | ||
| Makefile | ||
| pycriu | ||
| umount2.c | ||
| zdtm.desc | ||
| zdtm.py | ||
| zdtm_ct.c | ||
| zdtm_mount_cgroups | ||
| zdtm_umount_cgroups | ||