- Update to criu 3.15:
see details at https://criu.org/Download/criu/3.15
New features:
* Introduced criu-image-streamer
* Added MIPS support
* Allow checkpointing out of existing PID namespace and restoring
into existing PID namespace
* Added additional file validation mechanisms
* Added support to checkpoint and restore BPF hash maps
(BPF_MAP_TYPE_HASH) and array maps (BPF_MAP_TYPE_ARRAY)
* Initial cgroups v2 support
- Fix build with nftables package:
0002-Fix-build-with-nftables-installed-in-different-direc.patch
OBS-URL: https://build.opensuse.org/request/show/852394
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=101
- Update to criu 3.14:
New features:
* C/R of memfd memory mappings and file descriptors
* Add time namespace support
* Add the read pre-dump mode which uses process_vm_readv
* Add --cgroup-yard option
* Add support of the cgroup v2 freezer
* Add support of opened O_PATH fds
Bugfixes:
* Fix C/R ia32 processes on AMD #398
* Fix cross-compilation
* Many fixes here and there
Improvements:
* Use clone3() with set_tid to restore processes
* Clean up compel headers
* Use the new mount API
- Add libgnutls-devel to buildreq
OBS-URL: https://build.opensuse.org/request/show/807784
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=97
- Update to criu 3.13:
New features:
* VDSO: arm32 support
* Add TLS support for page server communications
* "Ignore" mode for --manage-cgroups
* Restore SO_BROADCAST option for inet sockets
Bugfixes:
* Auxiliary events were left in inotify queues
* Lazy-pages daemon didn't detect stack pages and surrounders
properly and marked them as "lazy"
* Memory and resource leakage were detected by coverity, cppcheck
and clang
Improvements:
* Use gettimeofday() directly from vdso for restore timings
* Reformat all .py code into pep8 style
OBS-URL: https://build.opensuse.org/request/show/749339
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=93
- Update to criu 3.12:
New features:
* build CRIU with Android NDK
* C/R of IP RAW sockets
* lsm: dump and restore any SELinux process label
* support restoring ghost files on readonly mounts
Bugfixes:
* Do not lock network if running in the host network namespace
* Fix RPC configuration file handling
* util: don't leak file descriprots to third-party tools
* small fixes here and there
Improvements:
* travis: switch to the Ubuntu Xenial
* travis-ci: Enable ia32 tests
* Many improvements and bug fixes in the libcriu
* Changes in the API and ABI (SONAME increased from 1 to 2)
- Updated to libcriu2 subpackage to follow SONAME 2
- Dropped obsoleted patch:
criu-asciidoctor.patch
OBS-URL: https://build.opensuse.org/request/show/701145
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=89
- Update to criu 3.10:
New features:
* Support Python3 in ZDTM and CRIT
* Keep names for UNIX sockets, that are unlinked from the FS
* IPVv6 support for page server
* Set page server socket fd via CLI
* Large pages support for aarch64/ppc64
* C/R of Per-thread seccomp chains
Bugfixes:
* Failed non-container restore could kill random task on the host
* Failure to dump namespaces was erroneously ignored
* CRIT didn't show cpuinfo image file
* Tasks that got PID-reuse couldn't be dumped iteratively because
previous images were missing
- Update to criu 3.11:
New features:
* cpuinfo: Detect compact frames and handle noxsaves
* Add support for configuration files
* Add support for external net namespaces
* Punch holes in input files when restoring anonymous non-shared
memory ( --auto-dedup )
* C/R of
+ epoll: Add support for duped targets
+ tun: Add support for multiple net ns
+ x86: Support extendable fpu frames
Bugfixes:
* mount: Better handling of mount points propagation
* nmk: Make collect-deps to be more precise about targets
* lazy-pages: Don't mark current stack page as lazy
* x86: CPU -- Rework feature testing
OBS-URL: https://build.opensuse.org/request/show/650258
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=87
- update to criu 3.9:
New features
- C/R of
+ Tun-Tap devices in sub-netns
+ File descriptors which were opened with O_TMPFILE
Improvements
- Restore of inotify watchers
- Restore unix sockets in proper mount namespaces
- Print CRIU and kernel version also in RPC mode
Bugfixes
- Random memory corruptions during lazy restore
- Workaround the iptables issue
- Don't use standard descriptors when tar is running to dump
tmpfs mounts
- Fail dump if dump_one_file() fails
- Fill kerndat with zero-s before reading it from cache
- cleanup with spec-cleaner
OBS-URL: https://build.opensuse.org/request/show/612701
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=85
- update to criu 3.8:
New features
* C/R of
- Multiple network namespaces
- Overmounted tmpfs mounts
- Unix sockets and epoll descriptors in SCM messages
Improvements
* Rework service descriptors not to cause fdtable enormous grows
Bugfixes
* FP state wasn't reported on Skylake due to a kernel bug
* gcc 8 warning fixes
* Resource leaked on error paths
* Attributes of sit devices with value 0 were not saved into
images (and were restored into default values)
* Tasks with pgid of a zombie hung the resture
* Ghost files on RO bind-mounts of an RW mount couldn't be
restored
* Random memory corruptions during lazy restore
- cleanup with spec-cleaner
- switch to https urls
- list binaries and man pages explicitly
- remove rest of static libs to fix rpm lint errors
OBS-URL: https://build.opensuse.org/request/show/588180
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=80
- update to criu 3.7:
New features
* Pipes usage statistics
* Run page server as non-daemon via RPC
* C/R of
- SO_REUSEPORT option
- IPv4-mapped inet sockets
- Net_prio CGroups
- Overmounted shared mountpoints
- Non-broken and breaking leases
Improvements
* Show criu and kernel versions in logs
* CRIT decodes socket families, protocols and types
* Much less pipes is needed for pre-dump, which is especially
useful for big mem migration
Bugfixes
* Files in /proc/pid/map_file could be opened by non-exiting
name (with 0x prefix) and it was fixed in kernel
* CRIU log levels were used to configure logging for libsoccr
thus breaking its logs
* Overflow in various IDs caused bad image names
* Compat (32bit) syscalls lost signedness in compel
* Corked sockets lost cork flag
* Preadv() syscall was declared with error which resulted in
dump errors on 32-bit processors
* Musl compilation failed
* Ghost files in / dump failed
* Crash when releasing context for ghost files, due to free()-ing
shmalloc()-ed area
* Lazy restore could receive partial page and crashed
* Erroneous closing of lazy pages connection caused restore to
hang
* Lazy memory fetch restore could start before tasks are restored
- Remove 0001-images.py-remove-shebang.patch
* upstreamed in 8e45ce4905d186abafb7c20abb3b00207fefdb53
OBS-URL: https://build.opensuse.org/request/show/559519
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=78
- update to criu 3.6:
New features
* C/R for files (except for unix sockets, ttys and epolls) sent
over unix sockets
* C/R for threads with different creds
* Ipv6 over ipv4 tunnel (SIT device)
Bugfixes
* Some s390x registers were not restored by native sigrestore way
* Overflow when parsing autofs info from /proc file
* Dumps of anon shared memory with sysvipc one raced with each
other clashing and corrupting image file names
* The "dumpable" flag was not restore on shmem regions
* Trash bits leaked into image when dumping fsnotify on some
kernels
* Lock/unlock of iptables from different criu processes raced with
each other
* Closed TCP connection with non-empty send queue blocked the dump
* When --empty-ns for netns was set on dump only, the restore
failed (Docker case)
- includes changes from 3.5:
see https://criu.org/Download/criu/3.5 for details
OBS-URL: https://build.opensuse.org/request/show/539037
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=74
- update to criu 3.4:
New features:
* Support for s390x architecture
Improvements:
* Unexpected death of restored tasks is reported with more
details in logs
* Merged many images containing info about files into one big
files.img
* When helper utility fails (ip, iptables, tar) its name is
printed in logs
Bugfixes:
* Compilation failed on newer glibcs (ucontext_t)
* Dying helper task could deadlock the restore process
* Install-related makefile variables weren't configurable for
distro build
* SIT (ipv6-to-v4 tunnel) presence on host blocked dump of any
containers
* Potential NULL dereference when dumping net namespace
* Dump via page server might not work across different criu
versions
* Failure to restore a subtask could be ignored by the restore
command
* EOF on page-server socket wasn't handled
- Dropped obsoleted patch:
criu-correct-ppc64-AT_VECTOR_SIZE_ARCH.patch
- Add s390x to exclusivearch
OBS-URL: https://build.opensuse.org/request/show/518323
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=72
- update to criu 3.1:
New features:
* Each boolean option now has the --no-$option pair
* RSS explorer in CRIT
* Multiple plugins in compel
* Run-time check of 32-mmap BUG on x86
* C/R of 32-bit futex robust list on x86
Optimizations/improvements:
* Start time is improved significantly with kerndat cache
* Sigaction image is merged into Core
* Unneeded stages are skipped during restore
* Restore w/o namespaces uses host /proc
* Restore w/o namespaces doesn't parse host mounts (not needed)
* Single-threaded tasks do not parse /proc/pid/task/ in vain
* BFD engine is used for more /proc files
* More verbosity in libsoccr
* Fsnotify dump w/o namespaces doesn't walk mounts tree
Bugfixes:
* Python bindings left zombie in self-dump mode
* The last_pid sys-control was reset by restore
* Threads caps were compared with mistake
* make install put crit/pycriu to wrong place if DESTDIR was not set
* Fsnotifies C/R w/o namespaces restored with errors
* Inherited control terminal restore was failed (but dump succeeded)
- update to criu 3.2:
Optimizations/improvements:
* Invisible files restore is de-serialized
* VMAs restore performance is improved significantly
- Mappings of the same file re-use the descriptor, not re-open it
every time
OBS-URL: https://build.opensuse.org/request/show/505507
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=66
- update to criu 3.0:
New features:
* Compel library
* Support for x86 32-bit arch
* Version check via RPC
* ASAN support
* Force VDSO trampolines via fault injection
* C/R of shutdown-ed UDP sockets
* C/R of bind-mounts made from external mounts
Optimizations/improvements:
* SysVIPC shmem segments are now dumped as any other shmem
(taking holes into account and sitting in common memory dumps)
* CRIT show decodes socket's states and types and task's states
into strings
* CRIT show prints unix sockets names in more human-readable form
Bugfixes:
* Unix sockets' names appeared in logs with mistakes
* Contents of SysVIPC shmem segments was dumped twice
* Dumping of any memory segment more than 4Gigs failed
* Migration of unaligned SysvSHM segment on Armv7 failed
Deprecation/removal:
* Exec action is removed, use compel instead
- Create libcompel1 sub-package
OBS-URL: https://build.opensuse.org/request/show/491189
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=64
- update to criu 2.12:
New features:
* C/R of external TTYs (for Docker C/R)
Optimizations/improvements:
* Sanitized the way the -v works
Fixes:
* Checking features via RPC crashed
* Resting pipes in user-namespaces could fail on modern kernels
* Shutdown state for UNIX sockets could be lost on restore
* Dump of huge (over 2Gb) SysV shmem segments didn't work
OBS-URL: https://build.opensuse.org/request/show/481821
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=60
- Update to criu 2.11:
New features:
* Added "pre-resume" to action scripts
* New --status-fd option for better control of page server
* C/R OFD file locks, RO root mount for mount namespaces
Optimizations/improvements:
* More strict checks for extra CLI options
* Report errors when probing locks
* Restorer logs now contain timestamps
Fixes:
* Regression: v2.10 was broken on ARM
* Use-after-free when restoring ghost directory
* Array out-of-bound access when restoring VETH device
* Page server exit code could be screwed up
* Clang over-optimized string.h routines resulting in random
crashes
* Parasite failed to send FDs via socket on Alpine Linux
* Restore of huge file tables could get stuck
* Restore of epoll in epoll could fail
* Errno value could be lost when reporting failure to restore
invisible files
* Dump of sched params didn't work on Alpine
* Restore of huge memory dumps (over 2G) failed
* Installation guessed /lib vs /lib64 with errors
* Migration between xsave and noxsave didn't work for wrong cpu
feature being checked
- Update to criu 2.11.1:
Fixes:
* Page server start via RPC was broken
* Fedora build didn't work
OBS-URL: https://build.opensuse.org/request/show/460900
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=58
- Update to criu 2.10:
New features:
* C/R of SOCK_PACKET sockets
* Libsoccr -- library for C/R of TCP sockets
Optimizations/improvements:
* Logs cleaned up (removed bunch of useless, fixed '\n' in
perrors)
* Action scripts errors are printed in logs
* Removed several iovec-s copying over the pagemap code
* Restore degraded linearly on Xen guests. Breakpoints disabled
until solution
Fixes:
* Py bindings fault on restore error delivery
* Fd leaked on file restore error path
* Fd leaked when restoring invisible files (gets closed with criu
exit though)
* Link remap restore could fail on kernels 4.8 and higher
* Impossible to restore after restore error with link remap file
in images
* When going daemon a descriptor could be leaked
* Custom setting of mmap_min_addr could make restore to fail
* Sending pages over UNIX socket could race and fail with EAGAIN
* Error getting ID of /proc/pid/ns/foo link not propagated and
could result in bogus NS ID generated
- Add libnet-devel to buildreq for dependency
OBS-URL: https://build.opensuse.org/request/show/452443
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=56