- 27 Apr, 2015 5 commits
-
-
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>
-
- 21 Apr, 2015 10 commits
-
-
Andrey Vagin authored
Now image files contains two magics, so we need to handle both of them. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Tycho Andersen authored
Note that if the root is unbindable then restore will fail because cr_pivot_root() tries to bind mount the put dir. If this is a case we want to support, we may want to rearrange how this code is called. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Tycho Andersen authored
The function masks off sharing in the initial setting, but doesn't correctly reset the flags afterwards. CC: Oleg Nesterov <oleg@redhat.com> Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Acked-by:
Andrew Vagin <avagin@odin.com> Looks-good-to: Oleg Nesterov <oleg@redhat.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Oleg Nesterov authored
Change add_fsname_auto() to join multiple --enable-fs options. Note: "all" always wins, and "--enable-fs foo,all,bar" results in fsauto_names = "all" too. Signed-off-by:
Oleg Nesterov <oleg@redhat.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Oleg Nesterov authored
I am stupid. fsname_is_auto() can't use strtok(), the 2nd call will see zeroes instead of commas in fsauto_names. Add the css_contains() helper and change fsname_is_auto() to use it. Signed-off-by:
Oleg Nesterov <oleg@redhat.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Now we have the crit utility to print images' contents in the human-readable format, so show can be thrown out some time soon. For now let's just deprecate it and leave functional only when the output is asked into non-terminal. I.e. the plan shell "criu show -f" will not work. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org>
-
Andrey Vagin authored
Currently we use a static buffer, but it is too small. Error (cr-service.c:58): Failed unpacking request: Success Error (cr-service.c:694): Can't recv request: Success data too short after length-prefix of 1217 v2: use recv instead on recvmsg Reported-by:
Ross Boucher <rboucher@gmail.com> Cc: Ross Boucher <rboucher@gmail.com> Signed-off-by:
Andrey Vagin <avagin@openvz.org> Acked-by:
Ruslan Kuprieiev <rkuprieiev@cloudlinux.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Original message from Tycho: This might be a slightly controversial change since it always causes crtools.h to be rebuilt, which may be annoying. However, right now version.h is only generated on the initial git build and never again touched, which is also incorrect. We could potentially do something fancy by monitoring .git/HEAD for changes, but since it may not always exist if building from a tarball, it is a little sticky. CC: Andersen <tycho.andersen@canonical.com> CC: Pavel Emelyanov <xemul@parallels.com> Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
If symlink is present the test run fails with "already exist" message. Lets make the link unconditional, this is fine. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Andrey Vagin <avagin@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Looks like compiler can't encode wide variants of memory copying and uses only xmm registers in 32bit mode. Lets drio i386 from here for a while. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 16 Apr, 2015 1 commit
-
-
Tycho Andersen authored
`git describe` outputs slightly more useful git version info: v1.5-132-ga10f39e The motivation for this is that we'd like to begin enforcing criu version in liblxc, but we'd like to enable people to use the git version of 1.6 (since that has stuff like --ext-mount-map auto), which reports its version as 1.5 but doesn't tell us the patchlevel as git describe does. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-