- 23 Oct, 2014 9 commits
-
-
Cyrill Gorcunov authored
Currently we're using predefined format for master/slave pty peers: masters are always /dev/ptmx, while slaves are /dev/pts/$index, where $index is the peer number. While fitting most of distros this is not always correct and slave peers might be mounted to an arbitrary place, so that we need to somehow carry paths with ourself in image. Instead of bloating current tty image lets use regular file engine instead and on checkpoint stage save a path to the link in regfiles set, then on restore simply fetch it from the image. Such approach will help in future when we need to support multiple instances of devpts filesystem. To support backward compatibility with images where no regfile records are present we generate new one on the fly in pty_alloc_reg() helper. Because of the need to restore dead slave peers and restore of the controlling terminal we need to generate that named "fake inverted" pty_alloc_fake_reg() helper: in particular if we need to open dead slave peer we generate fake master peer, open it and the close out. Almost the same situation in restoring contolling terminal -- we get master peer, generate appropriate fake slave object, open it, manipulate, then close it out and free. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
The idea is to be able to lookup for special id which might be not present and we should not yield the error. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
We will use reg-files engine for tty c/r so lets prepare scaffolds here preventing the engine to generate ghost files for PTY peers (mostly because one can't create slave peers without opening master peers first which is a sole part of tty engine itself). Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Otherwise this postfix will be accumulated on subsequent checkpoints. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
We will need it for tty restore. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
To use it in tty code even when file descriptor is not added into files chain. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
We will use this path in reg-files engine anyway so simply switch to this ability now. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
We will have to support more tty types in future so make calls depending on type of ttys. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Instead of calling case() with majors all over the places lets introduce own enum for tty types and use it instead. Because we're using not @major numbers now but taking @minors into account as well, this brings more strict check of which kind of terminals we can dump now thus it's potentially should fix the cases when we're trying to c/r terminals which we don't understand yet (in particular /dev/console [5:1]). Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 17 Oct, 2014 1 commit
-
-
Andrey Vagin authored
We should not have a chance to exit with a wrong code on error paths. Now dump_one_task() returs zero, if allocation of dfds failed: ret = collect_mappings(pid, &vmas); if (ret) { pr_err("Collect mappings (pid: %d) failed with %d\n", pid, ret); goto err; } if (!shared_fdtable(item)) { dfds = xmalloc(sizeof(*dfds)); if (!dfds) goto err; ... err: return -1; Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 14 Oct, 2014 9 commits
-
-
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
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>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Tycho Andersen authored
See the comment below for an explanation of what is going on. We will ultimately need to handle dumping the netlink data, but I think it is good to prevent injecting events into the stream during a dump. So we pre-load the modules, even though it isn't very pretty. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
They are not used outside. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
We don't set breakpoints for zombies. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 09 Oct, 2014 2 commits
-
-
Andrey Vagin authored
I found this solution in the LXC code. We can open the old root, call pivot_root(".", "."), call fchdir to the old root and call umount("."). Now restore will not fail, if the root is read-only. In addition it's a bit faster. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Konstantin Neumoin authored
The main problem with the test that it's never 'fail'. Test can only 'pass' or hangs. Signed-off-by:
Konstantin Neumoin <kneumoin@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 08 Oct, 2014 8 commits
-
-
Pavel Tikhomirov authored
Signed-off-by:
Pavel Tikhomirov <ptikhomirov@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Tycho Andersen authored
TASK_HELPERs are created with CLONE_FILES, so if we always close the cg yard here, it will close it for the other helpers and cause problems. Instead, we close it much later, in code only called by alive tasks, to ensure that there is no conflict. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Actually these @locked and @packet_mode are valid for unix98 ptys only so since moving them into @tty_pty_entry is impossible at least lets comment this. 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
- parse_index -> parse_pty_index since it's PTY specific - pty_is_master -> tty_is_master because it will test not only PTY peers but other types as well - pty_is_hung -> tty_is_hung for same reason 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
For readability sake. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 07 Oct, 2014 7 commits
-
-
Christopher Covington authored
TASK_SIZE for AArch64 may be any of several options between (1 << 39) and (1 << 48), inclusive, depending on kernel configuration. Go back to just checking the most significant bit, as was done before commit 3f12d688 was made to accomodate 32-bit ARM (before mmap_seized got architecture-specific implementations). This fixes the following error for AArch64 kernels with CONFIG_ARM64_64K_PAGES=y. Error (parasite-syscall.c:1105): Can't allocate memory for parasite blob (pid: 104) Signed-off-by:
Christopher Covington <cov@codeaurora.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
After changing an owner the current user will not be able to remove or change the directory. It isn't convenient. Reported-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
zdtm-pre-dump, zdtm-snapshot, zdtm-iter, zdtm execute pipe00, so these targets should be executed one by one. Signed-off-by:
Andrey Vagin <avagin@openvz.org> 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> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org>
-
Tycho Andersen authored
Previously we were trying to copy the root cg properties recursively to attempt to correct invalid restores. However, based on some ML discussion, we should only restore exactly what was dumped. Users need to set up their cg heirarchies correctly (that is, they should not set up any options in the parent that would conflict with what was dumped) in order to restore successfully. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Tycho Andersen authored
This commit is in preparation for the (hopefully last :) restore special cpuset patch. Previously, we installed the cgroup service fd after calling prepare_cgroup_dirs, which meant that we had to carry around the temporary directory name in order to put things in the right place. The restore_cgroup_prop function uses the cg service fd instead of carrying around the full path. This means that we can't sue restore_cgroup_prop, without first sanitizing the path. Instead, we install the service fd before calling prepare_cgroup_dirs, and all the code just references that instead of carrying around the temporary path. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 03 Oct, 2014 4 commits
-
-
Nicolas Dichtel authored
Error was: maps02.c: In function ‘main’: maps02.c:57:74: error: ‘MADV_DONTDUMP’ undeclared (first use in this function) maps02.c:57:74: note: each undeclared identifier is reported only once for each function it appears in make: *** [maps02] Error 1 ERROR: fail to start /home/root/criu/test/zdtm/live/static/maps02 Signed-off-by:
Nicolas Dichtel <nicolas.dichtel@6wind.com> Acked-by:
Andrew Vagin <avagin@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Add missing implementations for ARM platforms. Reported-by: Mr. Travis Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
On Tue, Sep 30, 2014 at 09:18:55PM +0400, Cyrill Gorcunov wrote: > Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Updated >From fea15362291a525f4b00f7e070968c6890cc831e Mon Sep 17 00:00:00 2001 From: Cyrill Gorcunov <gorcunov@openvz.org> Date: Fri, 19 Sep 2014 17:56:11 +0400 Subject: [PATCH 12/12] cpuinfo: rpc -- Add CPUINFO_DUMP/CPUINFO_CHECK commands Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
On Wed, Oct 01, 2014 at 05:51:09PM +0400, Pavel Emelyanov wrote: > > Yes, what you've been expecting? > > if (!strcmp(argv[optind])) > return cpu_cap_check() > > or smth like this. updated. So if it become confusing -- feel free to merge [1;9] and ping me to resend the rest, or pick up from attachements. >From 6af96ff63ac82f9566c3cba9c116dc67698c9797 Mon Sep 17 00:00:00 2001 From: Cyrill Gorcunov <gorcunov@openvz.org> Date: Tue, 30 Sep 2014 18:33:40 +0400 Subject: [PATCH] cpuinfo: Add "cpuinfo [dump|check]" commands They allow to validate cpuinfo information without running complete dump/restore actions. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-