What can change after C/R
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This page is very important (I believe). It describes what can change in a tasks' environment after a C/R cycle. If a software you're using depends on either item from the list below, it may break after C/R. The list is incomplete, but we do our best to make it contain relevant data.
- Per-task statistics
- Various counters, that can be obtained via
/proc/$pid/status
orgetrusage()
- Namespaces' IDs
- Numbers you see in the
/proc/$pid/ns/*
links' targets
- Process start time
- It's in the 22nd field of the
/proc/$pid/stat
file
- Mount points IDs
- The numbers from first 2 columns of
/proc/$pid/mountinfo
- Sockets IDs
- If you stat() a file descriptor with a socket the st_ino value can be used as unique socket ID. This value does changes after C/R as these IDs are global and we have no API to restore one.
- VDSO
- The VDSO is a shared library linked into app by kernel. If the C/R cycle implies changing the kernel in between (e.g. live migration or seamless kernel upgrade), the VDSO contents may change. However, its linkage with the application is preserved.