Changes

Jump to navigation Jump to search
2,710 bytes added ,  10:08, 16 June 2017
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 ==
 +
 
 +
; Per-pid rlimits, itimers and posix_timers image file
 +
: 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
 +
 
 +
; 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 ==
 +
; The <code>criu show</code> action
 +
: Removed in [[Download/criu/2.0|2.0]]. Use [[CRIT]] instead
 +
 
 +
; No ids.img files
 +
: 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
 +
: 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.
   −
== Current plan ==
   
; 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]]. 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]]. Now all locks sit in the file-locks.img file, no deprecation period.
 +
 
 +
; Old page-read
 +
: Removed in [[Download/criu/2.4|2.4]]. Used at ancient times when no pagemaps existed, no deprecation period.
   −
; Per-pid rlimits, itimers and posix_timers image file
+
== Plans ==
: Now all this stuff sit in the core entry
     −
; The <code>criu exec</code> action
+
=== The <code>criu exec</code> action ===
: Should be deprecated with [[Compel]]
+
Should be deprecated with [[Compel]]
   −
; The <code>--namespaces</code> option
+
=== Per-PID logs ===
: It was used when we didn't have /proc/pid/ns stuff, now it's useless
     −
== Already deprecated stuff ==
+
See [[logging]]. Not sure whether anybody is using it.
; The <code>criu show</code> action
  −
: Deprecated in [[Download/criu/2.0|2.0]] with [[CRIT]]
      
== See also ==
 
== See also ==

Navigation menu