Speaker
Bhavik Sachdev
Description
For CRIU to successfully checkpoint/restore a process, files must be opened correctly at the correct mounts.
Generally, we get mnt_id for the mount from /proc/<pid>/<fd>/fdinfo and information about the mount from /proc/<pid>/mountinfo.
But, if a file is open on an "unmounted" mount, i.e, a mount has been unmounted using MNT_DETACH (we still have access to fds),
CRIU can't do checkpoint/restore, since it can't get mountinfo for these "unmounted" mounts.
They are not present in /proc/<pid>/mountinfo, and statmount() does not work on them.
This talk will discuss potential ways to extract mountinfo for these mounts.
- Add a special kernel-only unmount_mnt_ns where all these can go to and later queried using statmount().
- Introduce fd-based statmount(), so that we can pass fd to statmount and get mountinfo of the mount the fd is opened on.