Line 1: |
Line 1: |
− | This page collects stuff that is considered to be deprecated (and is about to be removed) | + | This page collects stuff that is considered to be deprecated (and is about to be removed) and how to use older CRIU versions |
| + | |
| + | == Problem == |
| + | |
| + | Sometimes we reconsider the way CRIU works and rewrite some functionality. In order not to break backward compatibility at once, the old code is kept in CRIU for a while, but is declared as deprecated. After some time the old code is just removed and only the newer version of it stays. |
| + | |
| + | So, for a deprecated functionality there are two versions of CRIU -- D and R -- that work differently with it. Before version D the old functionality exists. Between D and R both -- old and new ways of doing things work, after R only new code works, old behavior is not longer supported. |
| + | |
| + | When old functionality is deprecated (and eventually removed) we try to encourage people to upgrade CRIU-s and the way they use. So, if one starts CRIU of version between D and R and the deprecated functionality is requested, the message |
| + | |
| + | <pre> |
| + | Deprecated functionality (...) rejected. |
| + | Use the --deprecated option or set CRIU_DEPRECATED environment. |
| + | For details visit https://criu.org/Deprecation. |
| + | </pre> |
| + | |
| + | appears in logs and criu exits. To continue working "the old way" w/o upgrading CRIU one may use the --deprecated option in CLI or set the CRIU_DEPRECATED environment variable. |
| + | |
| + | But (!) it's important to upgrade anyway, since after some time the old functionality will still be removed and even the --deprecated/CRIU_DEPRECATED won't help. |
| + | |
| + | Below is the list of stuff we deprecate with explanations. |
| + | |
| + | == Deprecated stuff == |
| | | |
− | == Current plan ==
| |
| ; Per-pid rlimits, itimers and posix_timers image file | | ; Per-pid rlimits, itimers and posix_timers image file |
− | : Now all this stuff sit in the core entry | + | : Deprecated in [[Download/criu/2.6|2.6]]. Now all this stuff sit in the core entry (all since 1.3) |
| + | |
| + | ; Separate image file for epoll tfds |
| + | : Deprecated in [[Download/criu/2.6|2.6]]. It's now merged into epoll image since 1.4 |
| | | |
− | ; The <code>criu exec</code> action | + | ; No-file records for ttys |
− | : Should be deprecated with [[Compel]]
| + | : Deprecated in [[Download/criu/2.7|2.7]]. See [[TTYs]] and <code>collect_one_tty()</code> routine in sources. Older versions of criu (before [[Download/criu/1.4|1.4]] commit caa64d97) didn't have reg_file_entry for ttys. |
| | | |
− | ; Per-PID logs | + | ; Dedicated options for external resources |
− | : Not sure whether anybody is using it | + | : Deprecated in [[Download/criu/2.8|2.8]]. {{Opt|--external}} is to be used instead of {{OptD|--ext-unix-sk}}, {{OptD|--veth-pair}}, {{OptD|--ext-mount-map}} and some more. |
| | | |
− | ; No file records for ttys | + | ; Separate image file for fsnotify marks |
− | : See collect_one_tty(). Older versions of criu didn't have reg_file_entry for ttys. | + | : Deprecated in [[Download/criu/3.2|3.2]]. |
| | | |
− | == Already deprecated stuff == | + | == Removed stuff == |
| ; The <code>criu show</code> action | | ; The <code>criu show</code> action |
− | : Deprecated in with [[CRIT]] in [[Download/criu/2.0|2.0]] | + | : Removed in [[Download/criu/2.0|2.0]]. Use [[CRIT]] instead |
| | | |
| ; No ids.img files | | ; No ids.img files |
− | : We've been writing these files since at least v0.4, deprecated since [[Download/criu/2.1|2.1]] | + | : Removed in [[Download/criu/2.1|2.1]]. We've been writing these files since at least v0.4, no deprecation period. |
| | | |
| ; The <code>--namespaces</code> option | | ; The <code>--namespaces</code> option |
− | : It was used when we didn't have /proc/pid/ns stuff, now it's useless, removed in [[Download/criu/2.2|2.2]] | + | : Removed in [[Download/criu/2.2|2.2]]. It was used when we didn't have /proc/pid/ns stuff, now it's useless, no deprecation period. |
| | | |
| ; Per-pid fdinfo.img file | | ; Per-pid fdinfo.img file |
− | : The new layout (marked with respective bit in inventory) is per-fdtable-id, removed in [[Download/criu/2.4|2.4]] | + | : Removed in [[Download/criu/2.4|2.4]]. The new layout (marked with respective bit in inventory) is per-fdtable-id, no deprecation period. |
| | | |
| ; Per-pid file locks | | ; Per-pid file locks |
− | : Now all locks sit in the file-locks.img file, removed in [[Download/criu/2.4|2.4]] | + | : Removed in [[Download/criu/2.4|2.4]]. Now all locks sit in the file-locks.img file, no deprecation period. |
| | | |
| ; Old page-read | | ; Old page-read |
− | : Used at ancient times when no pagemaps existed, removed in [[Download/criu/2.4|2.4]] | + | : Removed in [[Download/criu/2.4|2.4]]. Used at ancient times when no pagemaps existed, no deprecation period. |
| + | |
| + | == Plans == |
| + | |
| + | === The <code>criu exec</code> action === |
| + | Should be deprecated with [[Compel]] |
| + | |
| + | === Per-PID logs === |
| + | |
| + | See [[logging]]. Not sure whether anybody is using it. |
| | | |
| == See also == | | == See also == |