Postulates

From CRIU
Revision as of 18:31, 2 September 2016 by Kir (talk | contribs) (some reformatting / rephrasing, added see also)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Here are a few principles that must be taken into account while developing CRIU.

  • All shared resources must be restored by the task with the lowest PID among the group to avoid deadlocks.
  • No operations with file paths in restorer blob — task has restored its fs (cwd and root) and may see a different tree.
  • In dumping code, any fork()+exec() should be done using the cr_system() helper to avoid interfering with victim task tracing.

Protobuf images compatibility

To retain backward compatibility of protobuf image files, follow these rules:

  • Don't change the numeric tags for any existing fields.
  • Any new fields that you add should be optional or repeated.
  • Non-required fields can be removed, as long as the tag number is not used again in your updated message type.

For more info, see protobuf messages updating guide.

External links