- 01 Feb, 2017 9 commits
-
-
Pavel Emelyanov authored
This helps cleanup cr-time mounts a little bit. travis-ci: success for mount: Add ->collect callback Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
travis-ci: success for mount: Sanitize sb comparison code Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Introduce fstype->sb_equal and move btrfs-specific checks into it. travis-ci: success for mount: Sanitize sb comparison code Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
travis-ci: success for mount: Sanitize sb comparison code Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Dmitry Safonov authored
Before: [~]# criu check lazy_pages Looks good. [~]# criu check --feature lazy_pages Error (criu/kerndat.c:588): Lazy pages are not available After: [~]# criu check lazy_pages Error: excessive parameters for command check ...skipped usage() output... Just a little improvement, not to mislead anyone. Cc: Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Reviewed-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Dmitry Safonov authored
O_* flags should be in event_f_flags parameter, according to fanotify_init(2). On x86_32 fanotify_mark() has second mask argument (as mask is 64-bit, the higher parts of mask shouldn't be used): > COMPAT_SYSCALL_DEFINE6(fanotify_mark, > int, fanotify_fd, unsigned int, flags, > __u32, mask0, __u32, mask1, int, dfd, > const char __user *, pathname) > { > return sys_fanotify_mark(fanotify_fd, flags, > #ifdef __BIG_ENDIAN > ((__u64)mask0 << 32) | mask1, > #else > ((__u64)mask1 << 32) | mask0, > #endif > dfd, pathname); travis-ci: success for 32-bit tests fixes Signed-off-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
The sub-process should wait for the parent task signal before checking the locks status Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Begunkov Pavel authored
There are 3 tests that cover the following cases: 1. single OFD lock 2. overlapped OFD locks 3. inhertited OFD locks Tests logic is similar to logic of tests for other lock types. OFD lock specific header-only library was added to avoid code duplication in the tests. travis-ci: success for series starting with [1/2] locks: Add ofd locks c/r Signed-off-by:
Begunkov Pavel <asml.silence@gmail.com> Signed-off-by:
Eugene Batalov <eabatalov89@gmail.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Begunkov Pavel authored
OFD locks logic reuses existing locks c/r functionality. https://github.com/xemul/criu/issues/42 travis-ci: success for series starting with [1/2] locks: Add ofd locks c/r Signed-off-by:
Begunkov Pavel <asml.silence@gmail.com> Signed-off-by:
Eugene Batalov <eabatalov89@gmail.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 25 Jan, 2017 1 commit
-
-
Andrei Vagin authored
Unfortunately the kernel wakes up only one waiter even if they waits with MSG_PEEK, so the introduced scheme doesn't work. Reported-by: Mr Jenkins travis-ci: success for Revert "zdtm: use a unix socket instead of a pipe to synchronizer processes" Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 23 Jan, 2017 1 commit
-
-
Dmitry Safonov authored
With `-r` option relocation to parasite_service was not made on ARM: 0x76dbc018: bl 0x76dbc018 0xebfffffe (You may saw it with objdump also). This leaded to hang at "Putting tsock" message: (01.368297) ---------------------------------------- (01.368321) (01.368339) Collecting fds (pid: 13503) (01.368360) ---------------------------------------- (01.368535) Found 3 file descriptors (01.368564) ---------------------------------------- (01.368648) Dump private signals of 13503 (01.368708) Dump shared signals of 13503 (01.368761) Parasite syscall_ip at 0x10000 (01.369605) Set up parasite blob using memfd (01.369641) Putting parasite blob into 0x76cc5000->0x76e1f000 (01.369755) Dumping GP/FPU registers for 13503 (01.369818) Putting tsock into pid 13503 Link against lib.a which also fixes build for aarm64. Reported-by:
alex vk <avankemp@gmail.com> Reported-by:
long.wanglong <long.wanglong@huawei.com> Cc: Cyrill Gorcunov <gorcunov@gmail.com> Cc: Christopher Covington <cov@codeaurora.org> Signed-off-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Reviewed-by:
Christopher Covington <cov@codeaurora.org> Reviewed-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Backported-from-criu-dev-by:
Dmitry Safonov <dsafonov@virtuozzo.com>
-
- 16 Jan, 2017 29 commits
-
-
Pavel Emelyanov authored
So, this time we had TCP transitional states support, but it was in semi-finished libsoccr library :) And in order to have the TCP C/R fixed we fixed the library and are now ready to release them both. Said that, two main features of the Waxwing release are * libsoccr -- the library for TCP sockets C/R * TCP transitional states C/R Also we have a set of bugfixes, caught performance issue on Xen and a little bit more. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
As described in issue #268, breakpoints degrades restore performance in Xen guests. Untill we find out what's going on we disable them. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
It's the same as libsoccr_resume, but doesn't mess with the socket file descriptor. Just release the handle. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
This test construct both ends of tcp connections and check that it works in both directions. travis-ci: success for soccr: add a test Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
travis-ci: success for series starting with [1/2] tcp: Move window checking code into cr-check.c Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
travis-ci: success for series starting with [1/2] tcp: Move window checking code into cr-check.c Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
Only sockets in the repair mode can be bound to the same port a few time, what is required to restore tcp connects. v2: move bind() into libsoccr v3: fix an error message Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Acked-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Acked-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Pavel Emelyanov authored
There will be calls that return objects from inside library and vice versa -- accept objects from caller. Let's have a flag controlling who's going to free the mem in question. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Acked-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Acked-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Andrei Vagin authored
CID 173075 (#1 of 1): Dereference before null check (REVERSE_INULL) check_after_deref: Null-checking data suggests that it may be null, but it has already been dereferenced on all paths leading to the check. travis-ci: success for soccr: don't dereference data before null check Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
Looks like it is internal logic too, so it may be better to move into the library too. travis-ci: success for soccr: restore queues from soccr Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Mike Rapoport authored
travis-ci: success for scripts/install-debian-packages: add libnet-dev Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
These hooks opens inetsk.img, but it doesn't exist if processes were pre-dumped. travis-ci: success for test: skip pre-dump images in socket-tcp*.hook Reported-by:
Pavel Emelyanov <xemul@openvz.org> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
They have to be the same on each iteration. travis-ci: success for series starting with [01/21] build: install libnet-dev Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
travis-ci: success for series starting with [01/21] build: install libnet-dev Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
Check source and destination addresses for closed tcp sockets. travis-ci: success for series starting with [01/21] build: install libnet-dev Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
Check source and destination addresses for closed tcp sockets. travis-ci: success for series starting with [01/21] build: install libnet-dev Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrey Vagin authored
TCP_CLOSING both sides have shutdown but we still have data we have to finish sending travis-ci: success for series starting with [01/21] build: install libnet-dev Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrey Vagin authored
TCP_CLOSE_WAIT remote side has shutdown and is waiting for us to finish writing our data and to shutdown (we have to close() to move on to LAST_ACK) TCP_LAST_ACK out side has shutdown after remote has shutdown. There may still be data in our buffer that we have to finish sending travis-ci: success for series starting with [01/21] build: install libnet-dev Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrey Vagin authored
TCP_FIN_WAIT1 our side has shutdown, waiting to complete transmission of remaining buffered data TCP_FIN_WAIT2 all buffered data sent, waiting for remote to shutdown travis-ci: success for series starting with [01/21] build: install libnet-dev Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
libsoccr knows how to restore these sockets. travis-ci: success for series starting with [01/21] build: install libnet-dev Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
soccr already knows how to restore this sockets. CRIU has to ...: * unlock all packets with the SOCCR_MARK mark * request half-closed socket via socket_diag * transpit src and dst addresses to libsoccr v2: remove SOCCR_FLAGS_ACKED_FIN travis-ci: success for series starting with [01/21] build: install libnet-dev Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
If a socket has been closed, it still has both addresses and we need to dump them. travis-ci: success for series starting with [01/21] build: install libnet-dev Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
For that we restore all sockets properties and then disable the repair mode before calling connect() and the kernel will sent a syn packet and move the socket into the sys-sent state. travis-ci: success for series starting with [01/21] build: install libnet-dev Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
A socket is in one of half-closed states, if it sent a fin packet or it received a fin packet. CRIU plays with fin packets to restore half-closed states too. When we need to sent a fin packet from a socket, we can call shutdown(SHUT_WR). When a fin packet has to be restore in a received queue, criu generate a fin packet and send it via a raw ip socket. A raw packet is sent with the SOCCR_MARK mark to be able to not block it. v2: remove the SOCCR_FLAGS_ACKED_FIN flag introduce sets of bits for different actions with fin packets travis-ci: success for series starting with [01/21] build: install libnet-dev Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
We will need to disable the repair mode before connect() to restore syn-sent sockets. And even now connect() looks like a part of internal logic of libsoccr. travis-ci: success for series starting with [01/21] build: install libnet-dev v2: remove libsoccr_set_sk_data_unbound() from soccr.h Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
These addresses will be used to restore half-closed sockets, we will need to send a fake fin packet for that. And in the next patch connect() will be moved into soccr. Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-