- 06 Apr, 2012 6 commits
-
-
Pavel Emelyanov authored
Introduce and use generic file_desc ops for this. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
No need in per-type hash tables and search routines. We can handle it via generic file_desc structure. Some more thoughts on unixsk and pipe lists are still required :( Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
The struct replaces bare list_head on all of the _info-s we've introduced recently. 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>
-
Pavel Emelyanov authored
This is a big change, yes. Dump unix sockets in the same manner as all the other files are done now. A few notes however. 1. We explicitly drop names for connected stream sockets. This is done to avoid conflicts with names -- accepted sockets share their names with the listening parent. This can be done later by binding a socket to a name, them renaming it to some temporary uniq one and at the very very end renaming some back to original. 2. Interconnected sockets are restored via socketpair() call. This is correct, but names are dropped. Need to bind() sockets after this (yes, this can be done), but for this we need to implement the trick with renames described before. 3. FD for socket queues is constantly re-opened not to resolve fd conflicts. Need to use service fds engine for this later. 4. Some code cleanup is still required, yes (will follow shortly). Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 05 Apr, 2012 34 commits
-
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@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>
-
Andrey Vagin authored
A pipe buffer has 16 slots. A slot is page, offset and size. When we use splice and data is not aligned, splice connects a page from file cache and set offset. For this reason we loose a part of buffer. If a data size is more than 15 pages, data will be aligned in a image. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
[xemul: This check in open_transport_fd should go away once we implement opening files with peers. ] Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
For example it's pipe. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
pipe_entry is encapsulated in pipe_info. All pipe_info-s connects in the list pipes. All pipe_info-s with the same piep_id connects to pipe_list, it a circular list without a defined head. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
They will be used to restore pipes 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
Information about pipe's file structs saved in one global file and fdinfo_entry is saved for each descriptor Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
[ xemul: I don't know how to make this with incremental changes either, and just go with it :( ] Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
* create pipe * write a maximum amount of data * suspend/resume * check that all data have been restored 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>
-
Pavel Emelyanov authored
It was used in old code, now it can be dropped Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Add two checks -- that peer exists and it we will be able to connect to him somehow on restore. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
This maybe not 100% correct in the generic case, but the way unix sockets are used lets us do this trick. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
No need in separate per-type fn for doing this. We can just find the respective fd list and do sorting in the generic code. 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
Since proc_parse.h declares functions which have list_head as arguments, it should include list.h and basic types. Otherwise if included into the files without list support the compilation might fail as | | In file included from cr-check.c:5: | ./include/proc_parse.h:83: error: expected declaration specifiers or ‘...’ before ‘bool’ 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
The ability to set PR_SET_MM_AUXV is implemented in kernel as a separate PR_SET_MM extension, so we need to test if the kernel patch is applied on a running system. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Add basic test for prctl PR_SET_MM opcodes support. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
All these files are now properly prepared by the parasite invocation code by using open_image calls. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
This is done by open_image_ro in the restorer bootstrap preparation code. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
These are image files that weren't yet opened, thus should be opened with proper checks. 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>
-
Pavel Emelyanov authored
Collect pstree_item-s on restore in big list. This lets us not lseek this file on restore and simplifies the code a little. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
It uses the vma image right now, but the image is already sucked in. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
In commit 71cc2733 I occasionally dropped the ability to abort on waiting (because we used signed -1 value to inform waiters that something is wrong and waiting should be aborted, but the type was changed to unsigned one and as result this condition never triggers). So to resolve it futex_abort_and_wake() is added and should be used explicitly where appropriate instead if signess hack. Reported-by:
Andrew Vagin <avagin@parallels.com> Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
This was required when pages were stored in elf files for exec. Now we can stop reading it on eof. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
This will be needed for pipes, since we can't keep the pipe's other end till that for dup. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-