- 05 May, 2015 3 commits
-
-
Kir Kolyshkin authored
When open_image() was modified to return a pointer rather than an int in commit 295090c1, these two checks were overlooked and never fixed. Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Acked-by:
Andrew Vagin <avagin@odin.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Kir Kolyshkin authored
When using pr_perror(), format string should not end with \n, as it is added by the macro itself. Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Acked-by:
Andrew Vagin <avagin@odin.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Laurent Dufour authored
Some architectures like ppc64 requires a trampoline to be called prior to the standard restorer services. This patch introduces 3 trampolines which can be overwritten by architectures in arch/x/include/asm/restore.h: - arch_export_restore_thread - arch_export_restore_task - arch_export_unmap The architecture which doesn't need to overwrite them, has nothing to do. Signed-off-by:
Laurent Dufour <ldufour@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 30 Apr, 2015 1 commit
-
-
Laurent Dufour authored
This patch initiates the ppc64le architecture support in CRIU. Note that ppc64 (Big Endian) architecture is not yet supported since there are still several issues to address with this architecture. However, in the long term, the two architectures should be addressed using the almost the same code, so sharing the ppc64 directory. Major ppc64 issues: Loader is not involved when the parasite code is loaded. So no relocation is done for the parasite code. As a consequence r2 must be set manually when entering the parasite code, and GOT is not filled. Furthermore, the r2 fixup code at the services's global address which has not been fixed by the loader should not be run. Branching at local address, as the assembly code does is jumping over it. On the long term, relocation should be done when loading the parasite code. We are introducing 2 trampolines for the 2 entry points of the restorer blob. These entry points are dealing with r2. These ppc64 specific entry points are overwritting the standard one in sigreturn_restore() from cr-restore.c. Instead of using #ifdef, we may introduce a per arch wrapper here. CRIU needs 2 kernel patches to be run powerpc which are not yet upstream: - Tracking the vDSO remapping - Enabling the kcmp system call on powerpc Feature not yet supported: - Altivec registers C/R - VSX registers C/R - TM support - all lot of things I missed.. Signed-off-by:
Laurent Dufour <ldufour@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 29 Apr, 2015 2 commits
-
-
Andrew Vagin authored
Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
00:03:27.746 (00.008815) Error (bfd.c:149): bfd: Error reading file: No such process Reported-by: Mr Jenkins Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 27 Apr, 2015 10 commits
-
-
Andrew Vagin authored
We want to execute this test in Jenkins. Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
It's required to execute the test a few times Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
It resuces I/O load. Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
maps007 fails due to intensive load Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
It isn't required here and Mr Jenkins can't execute this job. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Oleg Nesterov authored
Subject. Signed-off-by:
Oleg Nesterov <oleg@redhat.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Oleg Nesterov authored
CRIU always retores the mounts as MNT_RELATIME. This is because the kernel uses this mode by default, so we need to pass MS_STRICTATIME explicitely if we didn't see "noatime" or "MS_RELATIME". While at it, make mnt_opt2flag[] and sb_opt2flag "static", otherwise gcc actually creates these arrays on stack even if there are "const". Signed-off-by:
Oleg Nesterov <oleg@redhat.com> Reviewed-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
/proc/locks can contain a wrong pid for a lock and we always need to check this fact. Starting with the 4.1 kernel, locks are reported in fdinfo. v2: rebase to the curret master skip note_file_lock() Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Starting with the 4.1 kernel, fdinfo contains information about file locks. v2: s/has_lock/has_fdinfo_lock/ Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 24 Apr, 2015 13 commits
-
-
Andrew Vagin authored
- ext pipe test should build binar - criu no longer accepts "extra" empty arguments - adduser doesn't add more than one same user All this came unnoticed due to error in tests failure detection (36a13cbd test: don't ignore errors other other tests) Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
We need a custom flags to build 32bit varian of criu on 64bit host system, lets pass @ldflags-y here for that. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Eliminate warning on 32bit builds. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
So won't be a warning on x86-32 (I don't like PRI conversion, it's ugly as hell, plain long is enough here). Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
We will need it for x86-32 as well, not on ARM only. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
We will need them for x86-32. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
- Get rid of shell script, we can do everything via make itself in parallel mode - Collect syscall related data into syscalls subdirectory (we gonna implement 32 bit mode soon) - We can't drop off __NR_ constants because we're using them in parasite code (when we inject dumper and for "criu exec" mode) Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Oleg Nesterov authored
Contrary to what I naively thought, the contents of fsauto_names is undefined if asprintf(&fsauto_names) and this was fixed by a052e0b6 "check return code of asprintf". But we can simplify this code a bit. If we rely on return value from asprintf(), we can simply nullify fsauto_names on failure and avoid the assymetrical "return false". Signed-off-by:
Oleg Nesterov <oleg@redhat.com> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
This case is not supported now [root@avagin-fc19-cr criu]# bash test/zdtm.sh -r static/pthread02 Execute static/pthread02 ./pthread02 --pidfile=pthread02.pid --outfile=pthread02.out Dump 3186 WARNING: pthread02 returned 1 and left running for debug needs Test: zdtm/live/static/pthread02, Result: FAIL ==================================== ERROR ==================================== Test: zdtm/live/static/pthread02, Namespace: Dump log : /root/git/locks/criu/test/dump/static/pthread02/3186/1/dump.log --------------------------------- grep Error --------------------------------- (00.033195) Error (cr-dump.c:886): Zombies with threads are not supported (00.033256) Error (cr-dump.c:1943): Dumping FAILED. ------------------------------------- END ------------------------------------- ================================= ERROR OVER ================================= Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
We want to know which process can not be handled. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 23 Apr, 2015 1 commit
-
-
Andrey Vagin authored
In case of rst_sibling, we are tracing the root task, but we are tracing only the leader thread, so we must attach to other threads to stop them. Reported-by:
Ross Boucher <rboucher@gmail.com> Cc: Ross Boucher <rboucher@gmail.com> Signed-off-by:
Andrey Vagin <avagin@openvz.org> Tested-by:
Ross Boucher <rboucher@gmail.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 22 Apr, 2015 10 commits
-
-
Christopher Covington authored
In AArch64, pages may be 4K or 64K depending on kernel configuration. The GNU C Library documentation suggests [1], "the correct interface to query about the page size is sysconf". Introduce one new architecture-specific function-like macro, page_size(), that on x86 and AArch32 remains a constant so as to minimally affect performance, but on AArch64 is sysconf(_SC_PAGESIZE) for correctness. 1. https://www.gnu.org/software/libc/manual/html_node/Query-Memory-Parameters.html To minimize churn, the PAGE_SIZE macro is left as a build-time estimation of what the run-time page size might be. This fixes the following errors for CRIU on AArch64 kernels with CONFIG_ARM64_64K_PAGES=y, allowing dump of `setsid sleep < /dev/null &> /dev/null` to succeed. Error (kerndat.c:48): Can't stat self map_files: No such file or directory Error (util.c:668): Can't read pme for pid 90: No such file or directory Error (parasite-syscall.c:1135): Can't open 89/map_files/0x3ffb7da0000-0x3ffb7dac000 on procfs: No such file or directory Signed-off-by:
Christopher Covington <cov@codeaurora.org> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
We should not have a chance to exit with a wrong code on error paths. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
We should not have a chance to exit with a wrong code on error paths. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
We should not have a chance to exit with a wrong code on error paths. |^^^\ | \________________ | ** |_\ \_______/^^^^^^^/_____/ / / / / /____/ Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Oleg Nesterov authored
"Unable to look up the %d mount" doesn't really help to understand the problem, add a bit more info. And perhaps it makes more sense to change dump_task_files_seized() to report fd/path if dump_one_file() fails. Signed-off-by:
Oleg Nesterov <oleg@redhat.com> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Oleg Nesterov authored
selinux can deny mmap(PROT_WRITE | PROT_EXEC) and in this case it is not clear why CRIU fails, "Can't allocate memory for parasite blob" doesn't tell too much. Add a pr_warn() hint for the user. Signed-off-by:
Oleg Nesterov <oleg@redhat.com> Acked-by: Cyrill Gorcunov<gorcunov@openvz.org> Acked-by:
Ruslan Kuprieiev <rkuprieiev@cloudlinux.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Tycho Andersen authored
Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Tycho Andersen authored
On ubuntu (gcc 4.9.2), I get: mount.c: In function ‘add_fsname_auto’: mount.c:1414:3: error: ignoring return value of ‘asprintf’, declared with attribute warn_unused_result [-Werror=unused-result] asprintf(&fsauto_names, "%s,%s", old, names); ^ cc1: all warnings being treated as errors Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-