- 13 Oct, 2016 10 commits
-
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Localize the processes_to_wait calculations in seize.c. In order to distinguish dead tasks which has already been wait()-ed from dead tasks that hasn't introduce internal 'zombie' state for seize_wait_task(). Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Don't do comparisons of creds insize core seizing routine. Instead, pull the creds on the caller's stack and compare them there if required. At the same time more the proc_status_creds_dumpable() to the place where it's only needed and make it static. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Laurent Dufour authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> [ldufour@linux.vnet.ibm.com: mostly rewrite to fix functional issue] Signed-off-by:
Laurent Dufour <ldufour@linux.vnet.ibm.com> Signed-off-by:
Laurent Dufour <ldufour@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Laurent Dufour authored
Signed-off-by:
Laurent Dufour <ldufour@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Reviewed-by:
Cyrill Gorcunov <gorcunov@openvz.org>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Reviewed-by:
Christopher Covington <cov@codeaurora.org>
-
Andrei Vagin authored
We are going to use this script for testing linux-next. v2: remove bashism travis-ci: success for scripts: allow to skip travis specific parts in travis-tests (rev2) Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
>From https://lwn.net/Articles/428176/: "CLOCK_BOOTTIME is identical to CLOCK_MONOTONIC, except it also includes any time spent in suspend (as currently measured by read_persistent_clock()). This allows applications to get a suspend aware monotonic clock." So, I *think* all we have to do is allow the constant, because the only handling that is different is how the kernel tracks the time. The motivation for adding this is that new versions of systemd-resolved (like what will ship in ubuntu 16.10) seems to open a BOOTTIME fd. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> CC: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
but let's keep it during restore, since there might be images around that were generated before we did this check at dump. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> CC: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 10 Oct, 2016 14 commits
-
-
Pavel Emelyanov authored
The parasite_prep_ctl() will become compel call, so it won't have the code that scans CRIU's vma area list. For pure compel users we'll need to add simple /proc/maps scanner that'd find the entry point. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
travis-ci: success for handle-elf.c: whitespace cleanup Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
with newer versions of protobuf, I get: ./crit Traceback (most recent call last): File "./crit", line 7, in <module> import pycriu File "/home/ubuntu/criu/crit/pycriu/__init__.py", line 2, in <module> import images File "/home/ubuntu/criu/crit/pycriu/images/__init__.py", line 2, in <module> from images import * File "/home/ubuntu/criu/crit/pycriu/images/images.py", line 52, in <module> from pb import * File "/home/ubuntu/criu/crit/pycriu/images/pb.py", line 35, in <module> from packet_sock_pb2 import * File "/home/ubuntu/criu/crit/pycriu/images/packet_sock_pb2.py", line 18, in <module> import sk_opts_pb2 as sk__opts__pb2 File "/home/ubuntu/criu/crit/pycriu/images/sk_opts_pb2.py", line 23, in <module> serialized_pb=_b('\n\rsk-opts.proto\"\xe2\x02\n\rsk_opts_entry\x12\x11\n\tso_sndbuf\x18\x01 \x02(\r\x12\x11\n\tso_rcvbuf\x18\x02 \x02(\r\x12\x16\n\x0eso_snd_tmo_sec\x18\x03 \x02(\x04\x12\x17\n\x0fso_snd_tmo_usec\x18\x04 \x02(\x04\x12\x16\n\x0eso_rcv_tmo_sec\x18\x05 \x02(\x04\x12\x17\n\x0fso_rcv_tmo_usec\x18\x06 \x02(\x04\x12\x11\n\treuseaddr\x18\x07 \x01(\x08\x12\x13\n\x0bso_priority\x18\x08 \x01(\r\x12\x13\n\x0bso_rcvlowat\x18\t \x01(\r\x12\x0f\n\x07so_mark\x18\n \x01(\r\x12\x13\n\x0bso_passcred\x18\x0b \x01(\x08\x12\x12\n\nso_passsec\x18\x0c \x01(\x08\x12\x14\n\x0cso_dontroute\x18\r \x01(\x08\x12\x13\n\x0bso_no_check\x18\x0e \x01(\x08\x12\x14\n\x0cso_bound_dev\x18\x0f \x01(\t\x12\x11\n\tso_filter\x18\x10 \x03(\x06*6\n\x0bsk_shutdown\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04READ\x10\x01\x12\t\n\x05WRITE\x10\x02\x12\x08\n\x04\x42OTH\x10\x03') File "/usr/lib/python2.7/dist-packages/google/protobuf/descriptor.py", line 827, in __new__ return _message.default_pool.AddSerializedFile(serialized_pb) TypeError: Couldn't build proto file into descriptor pool! Invalid proto descriptor for file "sk-opts.proto": NONE: "NONE" is already defined in file "rpc.proto". NONE: Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it. Therefore, "NONE" must be unique within the global scope, not just within "sk_shutdown". this fixes that. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> CC: Laurent Dufour <ldufour@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
In another "how did this ever work" moment, sometimes this wasn't set and we didn't propagate the LSM. Let's set it :) Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
avoids: [libprotobuf WARNING google/protobuf/compiler/parser.cc:547] No syntax specified for the proto file: autofs.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.) Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
Unfortunately, newer versions of protobuf check that the file suffix ends in _pb2.py: sudo ./zdtm.py run -t zdtm/static/apparmor_stacking Traceback (most recent call last): File "./zdtm.py", line 23, in <module> import criu as crpc File "/home/ubuntu/criu/test/criu.py", line 12, in <module> import rpc File "/home/ubuntu/criu/test/rpc.py", line 36, in <module> type=None), File "/usr/lib/python2.7/dist-packages/google/protobuf/descriptor.py", line 652, in __new__ _message.Message._CheckCalledFromGeneratedFile() TypeError: Descriptors should not be created directly, but only retrieved from their parent. v2: fix up the clean target, and remove some comments that were about the old rename Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> CC: Laurent Dufour <ldufour@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Stanislav Kinsburskiy authored
This helper uses other binaries (like awk), which can fail or be killed. It this case might be, that no mountpoint is found. Or, on other hand, the whole mount point path is wrong, and is absend in mountinfo. Return explicit error in this case. Without this patch, script will proceed further, and, since returned value is empty, it doesn't equal to "autofs", so script will try to bind-mount autofs mount, resulting in hung. travis-ci: success for systemd-autofs-restart.sh: explicitly return result from get_fs_type Signed-off-by:
Stanislav Kinsburskiy <skinsbursky@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Stanislav Kinsburskiy authored
This is minor issue, but would be nice to have print in sync with actual action. travis-ci: success for mount: fix error print in case of failed bind-mount Signed-off-by:
Stanislav Kinsburskiy <skinsbursky@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
The 'umount2: umount2' doesn't make sense as it's a circular dependency. It came from commit e7b152fd and probably meant to say "umount2: umount2.c" instead. But it's not needed either as make has implicit rules like that. Drop the "zdtm_ct: zdtm_ct.c" for same reason. travis-ci: success for test/Makefile: rm bad code Cc: Andrei Vagin <avagin@openvz.org> Cc: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
The "$(SRC): $(FOOTER)" dependency listed is incorrect, as criu.txt file is not dependent on footer.txt. Having said that, criu.8 in fact do depend on footer.txt but that was not reflected in Makefile. Fix it. While at it, add the custom.xsl dependency, which was also missing. 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>
-
Kir Kolyshkin authored
I just discovered that if I run make right from Documentation/ subdir, CRIU_VERSION is not defined so the generated man page is lacking it. Let's fix by conditionally including ../Makefile.versions. Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
Since commit e6dcf46 there is no need to specify the default goal explicitly. The common convention for Makefiles is the first goal in the file is the default one, so most universally there's "all:" goal at the beginning. Let's adhere to this convention, moving the "all:" up where it is to be expected. [v2: keep the DEFAULT_GOAL for clarity] 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>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Reviewed-by:
Dmitry Savonov <dsafonov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Cyrill Gorcunov authored
To make compiler happy with -Wstrict-prototypes option. No func change. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 05 Oct, 2016 16 commits
-
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Same as for files -- don't use data from soon-to-be opaque ctl. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
The structure will become private to compel, so only keep one as an opaque pointer for parasite API.s In particular, use item.pid instead of ctl.pid. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
For easier grepping. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
We have pstree_item there. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
When constructing sigframe for parasite, we my use ctl's blkset, not the CoreEntry's one. This simplifies further patching. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
I discovered that the scripts/ suffix is added to __nmk_dir despite the fact it already contains it, ending in obviously wrong filenames like scripts/nmk/scripts/scripts/msg.mk. As those files are non-existent, make tried to recreate every .mk file, spawninga child to execute 'true' command, like this (part of "make -dr" output): > Considering target file '../scripts/nmk/scripts/scripts/include.mk'. > File '../scripts/nmk/scripts/scripts/include.mk' does not exist. > Finished prerequisites of target file > '../scripts/nmk/scripts/scripts/include.mk'. > Must remake target '../scripts/nmk/scripts/scripts/include.mk'. > Putting child 0x564ec1768740 (../scripts/nmk/scripts/scripts/include.mk) > PID 21633 on the chain. > Live child 0x564ec1768740 (../scripts/nmk/scripts/scripts/include.mk) > PID 21633 > Reaping winning child 0x564ec1768740 PID 21633 > Removing child 0x564ec1768740 PID 21633 from chain. The fix was to remove the extra scripts/, but once I did it, I found out problem #2: these targets, being defined in contents that is often included in the beginning of Makefiles, hijacks the default make target (the first one in the Makefile), breaking the usual and expected make behavior, and forcing to use .DEFAULT_GOAL. Finally, I don't know why these targets are there, i.e. what purpose do they serve. Maybe it was done to exclude any implicit rules to re-make those files, but there are no such rules as far as I can see. So, in order to address problem #2, I have removed these targets. I don't see any harm in doing that; let me know if it breaks anything. Cc: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
1. As __nmk_dir already ends with a slash, there's no need for an extra one. 2. No need to include macro.mk into criu/Makefile -- nothing it defines is used from there. Cc: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
Convert stat()'s st_dev to kdev bacause mount infos need it. Like in fetch_rt_stat() function. Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Eugene Batalov authored
Anon shmem changes tracking has known bugs. So don't use it by default. Enable it only when CRIU_TRACK_SHMEM env variable is defined. Now we can run transition/shmem test in CI because it works: python test/zdtm.py run -t zdtm/transition/shmem --pre 3 Cc: Andrei Vagin <avagin@virtuozzo.com> Cc: Pavel Emelyanov <xemul@virtuozzo.com> Signed-off-by:
Eugene Batalov <eabatalov89@gmail.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
We only really need this call to find where we can dive into the victim to make a single (!) syscall. So no need in such a complication, just have get_exec_start() call that finds such vaddr. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
This makes the API cleaner -- now we tell to parasite_dump_pages_seized only two things -- whether it's pre-dump or not and, if not, whether this is lazy dump. And make it do all the other decisions himself. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Acked-by:
Mike Rapoport <rppt@linux.vnet.ibm.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Acked-by:
Mike Rapoport <rppt@linux.vnet.ibm.com>
-
Pavel Emelyanov authored
This is to make it easier to extend this logic further. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Acked-by:
Mike Rapoport <rppt@linux.vnet.ibm.com>
-