What can change after C/R

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 or getrusage()
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.