- 01 Jul, 2012 9 commits
-
-
Cyrill Gorcunov authored
I need a special test case where fake fifo will be created by us to restore the former. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Checkpoint and restore of fifo is similar to pipes c/r except the pipe end-points are named file. Because the fifo has a name we use regular files facility for fifo path c/r. Still there is a trick used to "open" fifo: the opening procedure migh sleep if a fifo's peer is not yet opened, so before doing a real open we yield a fake open procedure (with O_RDWR flag) which prevents us from sleeping even if peer is not yet ready. Also we need writable fifo end to restore data queued. v2: - add open/priv members to reg_file_info - make open_fifo_fd to use open_fe_fd - comment on pipe_id - make sure the fifo data is not restored twice v3: - drop useless fixme comment and add sane one v4: - Use restore_data flag to escape data restore duplication - Use S_ISREG for file contents copying Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Allow file path remap engine to create fifo nodes. Note for fifos the copy_file is not called since we will restore fifo data via pipe-data engine. v2 - no need for dev in mknod - don't reopen local copy on fifo files Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
To reuse with fifo data restore. v2: - use image type in functions arguments instead of forcing calling side to provide file descriptor 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
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Acked-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
v2: - Use do_dump_opt in dump_socket to not call lookup_socket redundantly v3: - use getsockopt to check that unconnected socket has no peername and it's not listening - do test only socket protocol since family and type will be called in dump_one_inet_fd. v4: - Move proto tests to can_dump_inet_sk - Use SOL_TCP/TCP_INFO to gather info about tcp sockets v5: - hash unconnected sockets to run BUG_ON(already-dumped) logic - no default value for sk->wqlen, use zero from xzalloc - drop bogus xfree on error Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 28 Jun, 2012 1 commit
-
-
Andrey Vagin authored
It fix compilation on x32 Signed-off-by:
Andrey Vagin <avagin@openvz.org> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 27 Jun, 2012 24 commits
-
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
And clean util.c and crtools.c from image manupulation code. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Evgeny Antyshev authored
It may occur that the loop spins faster than clock ticks. Signed-off-by:
Evgeny Antyshev <eantyshev@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Looks-cool-to: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
expr prints a substing length. This patch redirects output of expr to /dev/null Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
It requered 1m19s for executing all tests. Now it requires 38s. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Andrey Vagin <avagin@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Sometime we need sync points in testee program flow, for this reason task_waiter_ introduced. The call semantics is the following Parent Child ------ ----- task_waiter_init task_waiter_wait4 task_waiter_complete task_waiter_wait4 task_waiter_complete ... Thus initially task_waiter_init should be called to initialize all internals guts needed. Then one become waitee and calls for task_waiter_wait4, where lockid should be provided as an argument. Since it should be unique values the best option might be gettid(). The same applies to a waiter side -- it should call for task_waiter_complete and provide a lockid. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Andrey Vagin <avagin@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Strictly speaking we have to close all fds before reopening them from the image. This can be done using not yet merged nextfd syscall, but it's not yet merged :( By now just close std and 255 (bash's) descriptors. This is ugly, but I prefer to wait for the nextfd syscall. But skip the init tasks' stds becase the existing zdtm implementation uses system() in such tasks which doesn't work when all fds are closed. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Test with sysfs and proc as no other fs-s are currently supported. Will be fixed later. Note, that the original /proc mount is kept as the dumping code requires it for reading pagemap file with RSS info. Worth fixing it some day? Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
We need own proc for restoring mount namespace, since the proc should be umounted and mounted back diring namespace restore and I don't want to introduce a special kludge for this. One more notice -- the temp proc is mounted _after_ namespaces recreation for the same reason (it will be umounted by prepare_mnt_ns). Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Only support virtual filesystems mount. No bindmounts or disk fs due to non trivial resolving of devices names and binmount sources. Will be implemented later. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
The tree should already be sorted, thus the call for umount shouldn't fail. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Two walkers -- in forward and reverse directions -- are required for correct (u)mounting of subtrees. Implement them using a helper macro which walks the tree in both directions. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Namespace restore goes in two steps -- first, clean old mountpoints (except root) that are left after clone(CLONE_NEWNS) call. Next, repopulate the namespace with new mountpoints (except root) read from the image file. This patch adds the skeleton for the above -- reading the mountpoints from current proc and image and calling for mount/umount. The real action will come in further patches. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Build a tree of mountpoins that can be (u)mounted in a straight (forward or backward) order without EBUSY errors. The tree is built in two steps -- first create hierarchy based on mount iDs. Next -- resort siblings in the path depth order. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Encode it in u32 since we have to check filesystem name anyway (not everyone ie easily migratable). Dump _any_ root fs as we need the root entry on restore though do not mount it then -- it should be provided before crtools restore start. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Dumping is straightforward -- just copy all the mount_info fields into the new image file. Dump everything but fstype, this one will come in a separate patch. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
This structure will be used on restore and will be created from the image, thus the name proc_ is not suitable. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
On the restore path this structure will be used and it will be better to have them char * rather than char[64]. When scanning proc use the %ms specifier for this. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
It's not required more, because parasite_status_t was removed. 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
In olden times, when people didn't know how to write, they sent a courier with a letter. Now we can write messages from parasite, so SET_PARASITE_RET may be dropped. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Looks good to me as well. Maybe we will refine messages to be able to identify where exactly parasite failed (say line). But it better to do in another patch. Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 25 Jun, 2012 1 commit
-
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Andrew Vagin <avagin@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 22 Jun, 2012 5 commits
-
-
Cyrill Gorcunov authored
- add argument names - align members - add extern kw - group struct decl. on top - make file_desc_ops::type being unsigned integer similar to fdtype_ops::type Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
These are declared in files-reg.h, so get rid of them and add files-reg.h inclusion where needed. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
* check, that pseudoterminals are restored * check, that a control terminal is restred Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
2 2 session00 4 4 \_ session00 # {NEWSID, }, 2 5 \_ session00 # {0, }, 8 8 \_ session00 2 9 | \_ session00 # {CHANGESID, } 10 10 \_ session00 11 11 \_ session00 2 12 \_ session00 # {DOUBLE_CHANGESID | CHANGESID, } 2 3 session00 # {DETACH, }, 6 7 session00 # {DETACH|NEWSID, }, 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>
-