- 11 Sep, 2012 5 commits
-
-
Cyrill Gorcunov authored
Otherwise I get | parasite.c: In function ‘parasite_service’: | parasite.c:383:11: error: ‘fd’ may be used uninitialized in this function [-Werror=uninitialized] | cc1: all warnings being treated as errors Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
A few test check restoring of file descriptors to a one file struct. Here is better to check, that a few file struct can be linked to one unlinked file. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
A ghost file is used for restoring descriptors of an unlinked file. It is created, opened and deleted. Currently ghost files are collected in root task and then removed by crtools when everybody is restored. This scheme doesn't work, ghost_file_list is not shared, plus tasks may live in different mount namespace. It was broken by the following commit: bd4e5d2f restore: prepare shared objects after initializing namespaces We can't just move clear_ghost_files(), because we need to wait, until all processes have not opened a ghost file. We can add one more global barrier or move clear_ghost_files() in a restore code bellow an existent barrier. Here is a better sollution, a gost file is deleted by the last user. v2: Use the type atomic_t and fix a commit message. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
This code is copied from the Linux kernel. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
It's a struct to prevent using usual arithmetic operations. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 10 Sep, 2012 1 commit
-
-
Andrey Vagin authored
Actually a gurad page is a part of a stack vma and we don't want to remap it by a restorer vma. The crtools on restore find a place for a restorer vma, which will not intersect with other VMAs. A guard page is a part of a stack VMA, if we don't take into account it, we can place the restorer VMA on it and that case is a bug. Would not this lead to situation where we expand stack manually? Every new c/r cycle add one page to the bottom of stack, no? No: strace: mmap(0x5f4d0e0cc000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_GROWSDOWN, -1, 0) = 0x5f4d0e0cc000 /proc/PID/maps: 5f4d0e0cd000-5f4d0e0cd000 rw-p 00000000 00:00 0 . Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 07 Sep, 2012 10 commits
-
-
Andrey Vagin authored
The problem is to get a virtual pid for zombies. This code gets two list of children from current and target pidns. Then it removes alive task from the second list and dumps remaining zombies. A procfs from a target pidns is needed for dumping zombies, crtools gets it from parasite code. v2: Fix comment and get proc fd from a root task Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
This proc will be used for dumping zombies from pidns. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Here is a bit mess, because we used unsigned int instead of pid_t. A negative value is used for uninitialized PID's variables. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
When a pidns is dumped, crtools uses procfs from this pidns for getting information about zombies. v2: Use close_proc() instead of restore_proc_fd(). A current proc will be opened again, if it's required. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
It will be used for dumping zombies. v2: Add a fast path, if /proc belongs to the target pipns. it's usually for CT. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
pstree_item contains virtual and real pid and we want to get children by both of this pids. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
I don't like surprises. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
/proc/PID/maps can contains not up to date information about a stack vma. A kernel marks a VMA as stack, if thread_struct->usersp is in it, but usersp is updated, when a process calls a syscall. This problem is occured, when we try to dump/restore a process in a loop. When a restorer resumes a process, a restorer vma will be marked as stack. A thread stack should not be marked as stack, because its vma is mapped w/o MAP_GROWSDOWN. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
All per task images contains a virtual pid. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
It looks better and the next patches adds more checks before memory allocations. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 05 Sep, 2012 6 commits
-
-
Cyrill Gorcunov authored
For easier transition to tty c/r. We will need more types here, thus using switch statement makes code a bit easier to read. 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>
-
Cyrill Gorcunov authored
An analogue to current macro the kernel has. The name 'me' is somehow confusing. No func. changes. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Make restorer-log.c to be more similar to general log code. - Use current_logfd/current_loglevel variable names - Add ability to filter out messages which log level is not requested For example, if a program get restorer without any log level specified -- we restore it silently not printing even a single message (if no error happened of course). Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
A task may be in another pidns and crtools should get a pid from this pidns. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 03 Sep, 2012 4 commits
-
-
Cyrill Gorcunov authored
Will need it to honor current log level in restorer. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Will need it to fetch log level for restorer code. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
To teach restorer code the log levels we need a separate file for their definition. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
In 726a1180 we made protobuf library to depend on *.ch which is good thing but a bit incomplete. We need a rule to generate headers if they are missed. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 02 Sep, 2012 3 commits
-
-
Andrey Vagin authored
Because unix_sk_info contains a futex, which may be used from a few processes, we need to collect unix sockets into shared mem regions. Reported-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
v2: s/shcollect_image/collect_image_sh/ Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
v2: s/shfree/shfree_last Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 01 Sep, 2012 11 commits
-
-
Andrey Vagin authored
When restoring a container crtools create veth pair inside it and then pushed one end to the namespaces crtools live in (outside). To facilitate the subsequent management of the otter end of the veth pair this option is added -- one can specifu a name by which the respective end would be visible. E.g.: --veth-pair eth0=veth101.0 Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Otherwise fstatat fails as > > $ ./crtools check > > Error (sk-unix.c: 283): Can't stat socket 12547 (./var/run/sdp): Bad file descriptor Reported-by:
"Muralidhar, Rajeev D" <rajeev.d.muralidhar@intel.com> Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> CC: Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
pthread00 hangs if dprintf is used, and works well if fprintf is used. One more mention of this bug is here: http://sourceware.org/bugzilla/show_bug.cgi?id=12847Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
We can set a directory for log and image files. crtools sets it as a current directory and then creates all files in it. It works before we don't decide to change a mount name space. I suggest to open a log dir and create files for help openat. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
I added this options and I found, that it was a bad idea. Currently crtools prints PID for each message, so --log-pid can help if an error in the restorer code. 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
This tests passed already, so add them in the regular list. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Our general source code depends on headers generated during protobuf library building but if library is already built and *.ch files are removed we might hit a problem where dep files can't be generated. Thus add explicit rule pointing out that library depends on generated *.ch files. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
It's easier to handle things if we know that names in makefiles are never intersected. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
To eliminate code duplication. 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>
-