- 01 Feb, 2017 1 commit
-
-
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 37 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>
-
Andrei Vagin authored
loge() will start a message with "Error:" and logd() will start a message with "Debug:". logerr() will add strerror(errno) to the end of messages. 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 get sockets from task_diag, then we block network and dump sockets. A socket state can be changed between first two steps, so lets get a socket state on the third step and dump it. 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
Without this patch when we change libsoccr, criu isn't rebuilt. 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
Originally the repair mode could be enable only for sockets in closed and established states. Starting with the 4.10 kernel, it is possible to enable the repair mode for all connected sockets and now we can dump syn-sent and half closed 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
It will be used to generate tcp packets for restoring half-closed 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>
-
Adrian Reber authored
Some of the loge messages where missing a '\n'. For consistency this adds '\n' to all messages which were missing it. travis-ci: success for libsoccr debug/info messages (rev2) Signed-off-by:
Adrian Reber <areber@redhat.com> Reviewed-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Dmitry Safonov authored
Initialize logging function and log_level for libsoccr. Otherwise all soccr messages are skipped. travis-ci: success for libsoccr debug/info messages Reported-by:
Adrian Reber <adrian@lisas.de> Signed-off-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
Without this, any rebuild fails with: make[1]: Entering directory '/home/ubuntu/criu' make[1]: Entering directory '/home/ubuntu/criu' GEN .gitid GEN criu/include/config.h GEN /home/ubuntu/criu/criu/include/version.h make[1]: 'compel/plugins/std.built-in.o' is up to date. make[1]: Leaving directory '/home/ubuntu/criu' ln: failed to create symbolic link '/home/ubuntu/criu/soccr/config.h': File exists Makefile:217: recipe for target '/home/ubuntu/criu/soccr/config.h' failed make: *** [/home/ubuntu/criu/soccr/config.h] Error 1 make: *** Waiting for unfinished jobs.... make[1]: Entering directory '/home/ubuntu/criu' make[1]: 'compel/compel-host' is up to date. make[1]: Leaving directory '/home/ubuntu/criu' make[1]: Leaving directory '/home/ubuntu/criu' Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Reviewed-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-