No description
Find a file
Veronika Kabatova f17b60eff3 Extend the parser to accept negative options
Introducing negative options for true / false values. The original
getopt_long parser is kept since it is able to set flag-like values
(instead of setting these values in the switch when it's not needed).
The type of the options needed to be changed to integers for getopt_long
to accept flag-like value settings (as per getopt_long documentation,
the address of integer variable has to be passed).

Corresponding negative options are not added for deprecated options.

This patch is a preparation for the addition of configuration files
(GitHub issue #278). General idea of this feature is to have global
configuration files in /etc/criu.d/ directory and user-specific
configuration files in $HOME/.criu.d/ directory, with the possibility
of specifying a chosen file to be used (default files will be used if
none is specified, or none in case the default ones are not present,
to not break compatibility). The options in configuration files should
be possible to be overriden by the options specified on command line,
hence the negative options addition.

The whole feature of configuration files will remove the need of
specifying all the options on command line, with the possibility of
reusing a file for different use case with only overriding some of the
values specified there.

In case both types of option (negative and positive) are passed, the
later one will be applied -- this works with the philosophy of
overriding the "earlier" options from configuration files.

Changes since v1:
- Describe the --no- option prefix in the beginning of OPTIONS section in
  both man page and --help instead of mentioning it at every eligible line
  (this also fixes line length issue with --help)
- Fix the accidental removal of check_only case caused by bad rebase
- Use a macro for getopt_long struct option generating instead of additional
  defines and hardcoded lines

Signed-off-by: Veronika Kabatova <vkabatov@redhat.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-05-10 04:07:00 +03:00
compel arm/make: add missed syscalls.S dependency 2017-04-20 07:01:34 +03:00
contrib scripts/install-debian-packages: add libnl-route-3-dev 2017-05-10 03:56:47 +03:00
coredump python: specify python2 as .py interpreter 2017-04-17 18:35:58 +03:00
crit python: specify python2 as .py interpreter 2017-04-17 18:35:58 +03:00
criu Extend the parser to accept negative options 2017-05-10 04:07:00 +03:00
Documentation Extend the parser to accept negative options 2017-05-10 04:07:00 +03:00
images crit: Beautify unix names recode 2017-04-11 09:01:11 +03:00
include/common x86/asm: move user code selector values to common 2017-03-15 00:06:17 +03:00
lib python: specify python2 as .py interpreter 2017-04-17 18:35:58 +03:00
scripts python: specify python2 as .py interpreter 2017-04-17 18:35:58 +03:00
soccr soccr: Print errors in send_fin (v2) 2017-04-11 08:59:16 +03:00
test zdtm/static/fpu01: check for OSXSAVE instead of XSAVE 2017-05-10 03:53:23 +03:00
.gitignore .gitignore: remove a leftover 2017-04-02 18:12:10 +03:00
.mailmap repo: Add mailmap file 2012-03-25 23:31:20 +04:00
.travis.yml travis: run tests with asan 2017-04-11 09:00:49 +03:00
COPYING COPYING: fix a typo in a preamble 2016-08-11 16:18:43 +03:00
CREDITS Add the CREDITS file 2012-07-30 13:52:37 +04:00
INSTALL.md Makefile.install: rm unused vars/target 2017-02-06 13:48:49 +03:00
Makefile Makefiles: protect from % rules, don't rebuild 2017-03-15 09:36:08 +03:00
Makefile.compel compel: make plugins .a archives 2017-04-02 18:12:10 +03:00
Makefile.config Makefiles: nuke $(SRC_DIR) 2017-03-15 09:36:08 +03:00
Makefile.install Makefiles: remove @true 2017-03-15 09:36:08 +03:00
Makefile.versions criu: Version 3.0 2017-04-24 11:46:26 +03:00
README.md Add ascciinema tour on basic criu features. 2016-06-16 16:37:06 +03:00

CRIU (Checkpoint and Restore in Userspace)

An utility to checkpoint/restore tasks. Using this tool, you can freeze a running application (or part of it) and checkpoint it to a hard drive as a collection of files. You can then use the files to restore and run the application from the point it was frozen at. The distinctive feature of the CRIU project is that it is mainly implemented in user space.

The project home is at http://criu.org.

Pages worth starting with are:

A video tour on basic CRIU features

CRIU introduction

How to contribute