Changes

1,822 bytes added ,  08:42, 21 September 2016
created
Line 1: Line 1: −
[[Category: Empty articles]]
+
CRIU needs some support from the kernel to work. While developing CRIU we sometimes push patches into the Linux kernel. This article describes how to check whether the needed functionality is in the kernel or not.
 +
 
 +
== Basic ==
 +
 
 +
In the simplest case just running <code>criu check</code> would tell you whether the current kernel provides the minimally required support for CRIU to work. If everything is good the console would look like
 +
 
 +
<pre>
 +
# criu check
 +
Looks good.
 +
</pre>
 +
 
 +
This means that you can try playing with the [[Checkpoint/Restore]] functionality.
 +
 
 +
However, if the processes you dump use some specific resource (e.g. perform AIO or use TUN devices in netns) more than basic kernel support will be needed.
 +
 
 +
== Advanced ==
 +
 
 +
To check for more kernel stuff that might be needed to C/R the <code>--extra</code> option should be used. In case something is missing in the kernel the message would appear
 +
 
 +
<pre>
 +
Looks good but some kernel features are missing
 +
which, depending on your process tree, may cause
 +
dump or restore failure.
 +
</pre>
 +
 
 +
In this case a more detailed analysis is required. Don't hesitate to contact us at [criu@openvz.org] for help.
 +
 
 +
== Experimental ==
 +
 
 +
From time to time we develop a new feature whose kernel support is not yet in the upstream. In this case the kernel patches can be found in [[custom kernel|our kernel]] and the <code>--experimental</code> option should be used to detect them.
 +
 
 +
== Individual features ==
 +
 
 +
For [[ZDTM test suite]] CRIU has an ability to check individual features. The list of features is seen in the help text, and the particular kernel feature is checked with the <code>--feature $name</code> option. E.g. like this
 +
 
 +
<pre>
 +
criu check --feature mnt_id
 +
mnt_id is supported
 +
</pre>
 +
 
 +
== See also ==
 +
 
 +
* [[Upstream kernel commits]]
 +
* [[Custom kernel]]
 +
 
 +
[[Category: Using]]
 +
[[Category: Development]]