- 27 Sep, 2016 4 commits
-
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
The plan is to describe them all more carefully. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 26 Sep, 2016 34 commits
-
-
Tycho Andersen authored
Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> CC: Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> CC: Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
To mimic the environment that systemd is in when it causes the problem, we preserve a prefix cgroup path across checkpoint and restore which the tasks live below, and then we open a fd to this path. Without --cgroup-root /prefix on dump, this test fails: (00.030429) 32: Error (criu/files-reg.c:1487): File home/ubuntu/criu/test/zdtm/static/cgroup02.test/zdtmtst/prefix has bad mode 040600 (expect 040777) Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Tikhomirov authored
In commit 07d259f365f2 ("cgroup: support --cgroup-root on dump too") criu starts to understand --cgroup-root option on dump, but our cgroup02 test in cgroup02.desc file sets these opt to /newroot unintentionaly, as on dump we don't have /newroot dump fails: https://ci.openvz.org/job/CRIU/job/CRIU-x86_64/branch/criu-dev/989 ======================== Run zdtm/static/cgroup02 in h ========================= Start test Test is SUID ./cgroup02 --pidfile=cgroup02.pid --outfile=cgroup02.out --dirname=cgroup02.test Run criu dump =[log]=> dump/zdtm/static/cgroup02/30/1/dump.log ------------------------ grep Error ------------------------ (00.023103) Error (criu/cgroup.c:620): cg: failed walking /proc/self/fd/10/newroot for empty cgroups: No such file or directory (00.023129) Error (criu/cr-dump.c:1359): Dump core (pid: 30) failed with -1 (00.023944) Error (criu/cr-dump.c:1675): Dumping FAILED. ------------------------ ERROR OVER ------------------------ So fix this by using restore-only ropts instead of opts. Signed-off-by:
Pavel Tikhomirov <ptikhomirov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
It will be used in next patches Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Markus Knetschke authored
The field fs_type field of fd_parms is already long Additionally the glibc man page says "Using unsigned int for such variables suffices on most systems." referring the minimum width of variables holding fs_type There are already fs_types who sets the highest bit (CIFS, BTRFS HPFS...) which interfere with the error check in dump_one_reg_file_cond (fs_type < 0) through the cast into signed int and after this into long Fixes error while dumping programs on a btrfs partition Signed-off-by:
Markus Knetschke <markus.knetschke@gmail.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
I suspect this snuck in when I was build testing code. Anyway, it shouldn't be here :) Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
Currently we remap task_entries but it can be used from a sigchld hanler. We need to block sigchld to remap task_entries and unlock it when a restorer sigchld handler is set. Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Reviewed-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
ksigfillset is the same for all architectures and here is no reasons to duplicate the same code many times. In addition, this patch addes ksigemptyset and ksigaddset. They will be used in the next patch. Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Reviewed-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
In the case where we don't rewrite anything, dirnew is never set, so we shouldn't reset anything, because we didn't do any work. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
C standard specifies that the first enum element is 0 and the next ones are +1 to a previous element (C90, "3.5.2.2 Enumeration specifiers"). Therefore, there is no need to explicitly specify element values. The explicit initializers were added in the first commit introducing this enum (commit 46e8aeed). While at it, let's also add a comma after the last element, for any future patch adding more elements to look better. No functional change. Cc: Ruslan Kuprieiev <rkuprieiev@cloudlinux.com> Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Acked-by:
Ruslan Kuprieiev <rkuprieiev@cloudlinux.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
The problem here is again caused by systemd :). Every process lives in some child cgroup and not the root one, so we end up with a bunch of stuff like: /init.scope /system.slice/... /user.slice/... and nothing in the root cgroup. However, systemd opens /sys/fs/cgroup/systemd, changes the perms, and keeps a fd around. Unfortuantely, we don't track the perms on the "real root" cgroup here, because nothing is at that level, so when we restore, our cgroup perms changing code doesn't catch this perms change, and we get: (00.361723) 1: Error (criu/files-reg.c:1487): File sys/fs/cgroup/systemd has bad mode 040755 (expect 040775) To fix this, let's just support the --cgroup-root argument on dump too, and rewrite the cgroup paths we dump accordingly. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tuan T. Pham authored
From 5f6b24723b1d029d3c764aaa8dea31b8497c3905 Mon Sep 17 00:00:00 2001 From: "Tuan T. Pham" <tuan@vt.edu> Date: Thu, 8 Sep 2016 03:42:12 -0400 Subject: [PATCH] Add script to install required packages to compile in Debian In order to setup an environment to compile and to test CRIU from source, we need to have required packages in Debian environment.[^0] This script and its package list will help setting it up. contrib/debian/dev-packages.lst: * List of required packages for Debian development environment scripts/install-debian-pkgs.sh: * A simple bash script instaling the required Debian packages [0]: https://criu.org/InstallationSigned-off-by:
Tuan T. Pham <tuan@vt.edu> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Cyrill Gorcunov authored
In case if there is no CLONE_NEWCGROUP on root namespace mask the @private member remains nil and comparision in mounts_sb_equal leads to nil dereference. CC: Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
v2: add cgroup04.hook which removes the cgroups in between, so things are actually restored :) Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> CC: Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
v2: don't try to write "" to devices.allow, just skip it since we write 'a' to devices.deny everywhere anyway. v3: leave cgroup prop name as "devices.list" so it is caught in the later tests for special-ness. also, don't write the last devices entry twice. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> CC: Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Adrian Reber authored
Signed-off-by:
Adrian Reber <areber@redhat.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
C standard specifies that the first enum element is 0 and the next ones are +1 to a previous element (C90, "3.5.2.2 Enumeration specifiers"). Therefore, there is no need to explicitly specify element values. The explicit initializers were added in commit 56763837 (scripts: Add ACT_MAX limit and make @action_names being const) but I do not see the need for them in there either. No functional change. Cc: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
new_controller() returns NULL on error, so let's check for that. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Eugene Batalov authored
Before this patch vma sizes were hardcoded and weren't derived from PAGE_SIZE value. But all the actions with these vmas are based on PAGE_SIZE value. That's why maps008 on PowerPC with "huge" PAGE_SIZE of 64k was simply terminating due to invalid memory access. This commit sets vma sizes to safe values derived from PAGE_SIZE. New sizes are enough to perform all the actions test does with vmas. Tested-by:
Laurent Dufour <ldufour@linux.vnet.ibm.com> Signed-off-by:
Eugene Batalov <eabatalov89@gmail.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
This is need to catch the moment when binfmt_misc in mainline kernel is virtualized Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
In case of mount image is not containing binfmt_misc mountpoint, add temporary mountpoint to mount tree and try to restore binfmt_misc content in ordinary way. Then, umount temporary mountpoint. v4: New v5: Check for opts.has_binfmt_misc to determine if image presents v6: Check for binfmt_misc_list to determine if binfmt_misc entries present Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
Umount does not remove binfmt_misc content. If it's mounted once again, the same entries remain registered. Criu does not dump content of umounted binfmt_misc. So, after C/R we lose it at all. This patch forces mounting of unmounted binfmt_misc after we collected mountpoints. If it's unmounted, we mount it back and add this mount to the tree of collected mounted mountpoints. Further, binfmt_misc content is dumped in usual way with the only difference, that mount point itself is not dumped. v2: Print error in case of umount() fail. Move add_forced_mount() to another patch. v3: Close binfmt_misc dir before its umount(). v4: Do not dump forced mounted mountpoint. v5: Do not search for binfmt_misc mounted: use opts.has_binfmt_misc. Do not count number of entries in binfmt_misc directory. v6: Add CRTIME_MNT_ID. Make mount function generic. Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
Set opts bit if binfmt_misc is mounted on root mnt_ns v5: New Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
Use name binfmt_misc.img for any mounted binfmt_misc. Note, that newly created binfmt_misc images won't restore on old criu. Iterate over binfmt_misc_list if it's not empty on restore. Also, because of above, let's change a behaviour of dump and now we do not create binfmt_misc images if there is no registered binfmt_misc entries. v5: New v6: Use {open,close}_image sequence to determ if image exists Iterate over binfmt_misc_list Suggested-by:
Pavel Emelyanov <xemul@virtuozzo.com> Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
Also rename restore_binfmt_misc_entry() to write_binfmt_misc_entry() v6: New Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
v6: New Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
Also add new format without suffix in file name v6: New Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Cyrill Gorcunov authored
Don't do additional processing for ext-tty which are expected to not have regfile in image. Reported-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Cyrill Gorcunov authored
When collecting tty records the @id may come in as external tty entry which has no regular file record (because it gonna be inherited on the restore from the command line option). Thus, make sure that deprecated_ok() is never called on external ttys. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Tikhomirov authored
fix for commit 68a938ea ("net/iptables: check iptables command has wait option") else each criu log contains iptables output: (00.020184) Found task size of 7ffffffff000 Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination (00.029481) irmap: Searching irmap cache in work dir Signed-off-by:
Pavel Tikhomirov <ptikhomirov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
This program doesn't parse /etc/fstab or /etc/mtab, it just calls the umount2 syscall. It is another attempt to fix the error: subprocess.CalledProcessError: Command '['mount', '--make-private', '/tmp/criu-root-C7MZS9']' returned non-zero exit status 1 OSError: [Errno 16] Device or resource busy: '/tmp/criu-root-C7MZS9' Signed-off-by:
Andrei Vagin <avagin@openvz.org> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrew Vagin authored
Add a new option to zdtm.py to run "criu dedup" after "criu dump" or "criu pre-dump". Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
TTY files carry link on regfile entry since 1.4 (commit caa64d97) Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org>
-
- 12 Sep, 2016 1 commit
-
-
Pavel Emelyanov authored
So, this time we have quite a lot of new features for a monthly release cadence, including --leave-stopped on restore, TMEM for PPC and shmem changes tracking. Also bugfixes, of course, and a little bit more deprecations. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 08 Sep, 2016 1 commit
-
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-