- 27 Aug, 2012 1 commit
-
-
Andrey Vagin authored
A disabling repair mode drops SO_REUSEADDR. We can set SO_REUSEADDR after disabling repair mode, but a small race window exists in this case. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 21 Aug, 2012 14 commits
-
-
Pavel Emelyanov authored
Stupid misprint Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
For debugging Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
* Don't dumplicate array when sending to parasite * Allocate necessary space in cr-dump for local fds/flags Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Otherwise we can get stuck waiting for more data in vain. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
The value in eax is positive on error. Callers expect it to be negative to report error. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Currently peer is %d, but this is wrong. It should be paired with inode easily. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
fd is shown in %d flags are shown in %#o Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Stanislav Kinsbursky authored
Signed-off-by:
Stanislav Kinsbursky <skinsbursky@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Stanislav Kinsbursky authored
New custom specificator: 'S': output as string (unprintable characters replaced by dots) Signed-off-by:
Stanislav Kinsbursky <skinsbursky@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
So try to check on extra descriptors a few times v2: move save_fds in a loop 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
It will be used for checking tcp connections, external unix sockets, etc Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
* Delete internal buffer, all data are written immediately in a log file * Add timestamp and pid in a message * All processes write log messages in one file Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 20 Aug, 2012 19 commits
-
-
Pavel Emelyanov authored
It's now quite simple. It's better to open-code one. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Just save the ii->ie on stack and do s/ii->ie/ie/ over the fn. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
After previous rework (513dde00) they are no longer needed. 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
Move logic from run_unix_connections to post_open(). I don't fix indents in this patch for easy reviewing. They are fixed in the next patch. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
All sockets are created with SO_REUSEADDR, it's needed for restoring. E.g.: A listen socket is created after a connected socket. Both of them are binded to one port. So SO_REUSEADDR should be restored, when all sockets on a port were created. This code creates a structure for each port of one type of sockets and accounts a number of sockets, which are not restored yet. Sockets have a hook post_open(), in which it waits when all sockets for a defined port would be created and then it will restore SO_REUSEADDR. struct port contains a type (udp, tcp, etc) and a port number. It doesn't contain family or addr, because it's extra loads of logic, which doesn't bring a significant profits. v2: fix according with comments from Pavel Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
It will be used for restoring inet sockets. An inet socket is created with the option REUSEADDR, because the restore logic requires this. The origin value can be restored only when all sockets were restored. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Now we can at least look into images manually to check how rings are dumped. Later we should write an auto test. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
There's no way (currently) to check that the ring got restored. Will do it once we implement mapping of a packet socket and tcpdump app test. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
This one may be present and may be not, thus it's optional in the image. The C-binding we use report the field absense in the parsed stream via the has_xxx field, but in the google docs it's stated, that "When a message is parsed, if it does not contain an optional element, the corresponding field in the parsed object is set to the default value for that field." Thus, I also declare the default value for it to be not zero as 0 is a valid fanout configuration. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
If a vdso page was not accessed before dump, it's not present and now it doesn't save in a dump image. The vdso area is restored as VMA_ANON, it isn't an actual vdso more, so when a not-present vdso page is accessed, a zero page would be mapped. For this reason we should save all vdso pages in a image. v2: make code more clear Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Don't need to wait external sockets, they should exist. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 17 Aug, 2012 3 commits
-
-
Pavel Emelyanov authored
Long time ago the conn jobs were implemented in a bad manner -- they tried to connect to peer until it succeeds sleeping in the middle. Time to stop doing so and switch to proper futex-based waiting for bound event. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
It's unclear why we've had two different names for same argument. Moreover, "tsk" is definitely misnamed feature. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 16 Aug, 2012 2 commits
-
-
Pavel Emelyanov authored
These are used by single process, no need in keeping them in such a strange way. Plus, turn this array into a hash table for better search. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
This one allocates a memory, that will be shared (MAP_SHARED) between all the subsequent children. This can now be just used for fd resote, later it will be required at inet socket port binding. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 15 Aug, 2012 1 commit
-
-
Pavel Emelyanov authored
The implementation is rather straightforward. One thing to note is that non-single membership of each type is not supported. It can be done, but I'm unaware of any software doing so. Note: the pb show routine should be tuned to support showing bytes. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-