Difference between revisions of "Deprecation"
m |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 24: | Line 24: | ||
; Per-pid rlimits, itimers and posix_timers image file | ; Per-pid rlimits, itimers and posix_timers image file | ||
− | : Deprecated in [[ | + | : 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 | ; Separate image file for epoll tfds | ||
− | : Deprecated in [[ | + | : Deprecated in [[Download/criu/2.6|2.6]]. It's now merged into epoll image since 1.4 |
+ | ; No-file records for ttys | ||
+ | : 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. | ||
+ | |||
+ | ; Dedicated options for external resources | ||
+ | : 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. | ||
+ | |||
+ | ; Separate image file for fsnotify marks | ||
+ | : Deprecated in [[Download/criu/3.2|3.2]]. | ||
== Removed stuff == | == Removed stuff == | ||
Line 50: | Line 58: | ||
== Plans == | == 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 == |
Latest revision as of 10:08, 16 June 2017
This page collects stuff that is considered to be deprecated (and is about to be removed) and how to use older CRIU versions
Problem[edit]
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
Deprecated functionality (...) rejected. Use the --deprecated option or set CRIU_DEPRECATED environment. For details visit https://criu.org/Deprecation.
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[edit]
- Per-pid rlimits, itimers and posix_timers image file
- Deprecated in 2.6. Now all this stuff sit in the core entry (all since 1.3)
- Separate image file for epoll tfds
- Deprecated in 2.6. It's now merged into epoll image since 1.4
- No-file records for ttys
- Deprecated in 2.7. See TTYs and
collect_one_tty()
routine in sources. Older versions of criu (before 1.4 commit caa64d97) didn't have reg_file_entry for ttys.
- Dedicated options for external resources
- Deprecated in 2.8.
--external
is to be used instead of--ext-unix-sk
,--veth-pair
,--ext-mount-map
and some more.
- Separate image file for fsnotify marks
- Deprecated in 3.2.
Removed stuff[edit]
- No ids.img files
- Removed in 2.1. We've been writing these files since at least v0.4, no deprecation period.
- The
--namespaces
option - Removed in 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
- Removed in 2.4. The new layout (marked with respective bit in inventory) is per-fdtable-id, no deprecation period.
- Per-pid file locks
- Removed in 2.4. Now all locks sit in the file-locks.img file, no deprecation period.
- Old page-read
- Removed in 2.4. Used at ancient times when no pagemaps existed, no deprecation period.
Plans[edit]
The criu exec
action[edit]
Should be deprecated with Compel
Per-PID logs[edit]
See logging. Not sure whether anybody is using it.