[CRIU] [PATCH 00/32] tools, cpt2 introduction, v1
Cyrill Gorcunov
gorcunov at openvz.org
Sat Mar 30 17:42:38 EDT 2013
Hi guys, I would like you to take a glance on extremelly draft
and early initial version of cpt2 tool which idea of is to convert
openvz images to criu format.
Disclamer: this set does not provide complete conversion neither
it provide early alfa stage of a tool, but rather some code snippets
which are subject to heavy change in a future and to share code early.
I've tested it with my own quite trivial container which were running
endless
1: jmp 1b
instruction. The reason for that is lack of vdso area migration (which
is tricky task on its own, because we need to jump between different
kernel versions), thus I don't have timers, neither I have net related
stuff, ipc and etc.
So any comments on early code would be highly appreciated.
Thanks!
Cyrill Gorcunov (32):
make: Don't generate tags/cscope for tools/ and test/
pie: restorer -- Don't fail if no futex provided
mnt: Add simfs entry to a list of supported fs
tools: Introduce cpt2 sourceless directory
tools: cpt2 - Add bare entry routine
tools: cpt2 -- Add a bunch of headers needed
tools: cpt2 -- Introduce exportfs helpers
tools: cpt2 -- Introduce io operations
tools: cpt2 -- Itroduce fdset operations
tools: cpt2 -- Add structures to parse OpenVZ image format
tools: cpt2 -- Introduce program context and image helpers
tools: cpt2 -- Introduce protobuf helpers
tools: cpt2 -- Introduce "object" abstraction
tools: cpt2 -- Start reading dumpfile
tools: cpt2 -- Read files, fds, inodes, fs related info
tools: cpt2 -- Add signal handlers reading scaffolds
tools: cpt2 -- Read inotify entries
tools: cpt2 -- Read vfs mount points
tools: cpt2 -- Read mm/vma data from dumpfile
tools: cpt2 -- Add FPU header to carry xsave frames
tools: cpt2 -- Add reading of tasks
tools: cpt2 -- Add reading of sockets
tools: cpt2 -- Introduce convert() routine
tools: cpt2 -- Read all entries we understand
tools: cpt2 -- Intrdoce "write" routines for files
tools: cpt2 -- Introduce write_sighandlers routine
tools: cpt2 -- Add "write" routines for virtual memory areas
tools: cpt2 -- Add writing of pstree entries
tools: cpt2 -- Add writing of per-task images
tools: cpt2 -- Add writing stubs
tools: cpt2 -- Add writing shmem entries
tools: cpt2 -- Add writing of inventory file
Makefile | 4 +-
mount.c | 1 +
pie/restorer.c | 2 +-
protobuf/mnt.proto | 1 +
tools/cpt2/Documentation/.gitattributes | 1 +
tools/cpt2/Documentation/.gitignore | 3 +
tools/cpt2/Documentation/Makefile | 18 +
tools/cpt2/Documentation/cpt2.txt | 34 +
tools/cpt2/Makefile | 121 ++
tools/cpt2/README.md | 4 +
tools/cpt2/src/Makefile | 23 +
tools/cpt2/src/context.c | 54 +
tools/cpt2/src/convert.c | 173 +++
tools/cpt2/src/exportfs.c | 51 +
tools/cpt2/src/fdset.c | 49 +
tools/cpt2/src/files.c | 571 ++++++++++
tools/cpt2/src/image.c | 143 +++
tools/cpt2/src/include/bug.h | 24 +
tools/cpt2/src/include/compiler.h | 143 +++
tools/cpt2/src/include/context.h | 37 +
tools/cpt2/src/include/convert.h | 6 +
tools/cpt2/src/include/cpt-image.h | 1829 +++++++++++++++++++++++++++++++
tools/cpt2/src/include/cpt2.h | 17 +
tools/cpt2/src/include/err.h | 53 +
tools/cpt2/src/include/exportfs.h | 66 ++
tools/cpt2/src/include/fdset.h | 31 +
tools/cpt2/src/include/files.h | 57 +
tools/cpt2/src/include/fpu.h | 102 ++
tools/cpt2/src/include/hash.h | 73 ++
tools/cpt2/src/include/hashtable.h | 90 ++
tools/cpt2/src/include/image.h | 108 ++
tools/cpt2/src/include/inotify.h | 30 +
tools/cpt2/src/include/io.h | 46 +
tools/cpt2/src/include/list.h | 423 +++++++
tools/cpt2/src/include/log.h | 54 +
tools/cpt2/src/include/magicfs.h | 35 +
tools/cpt2/src/include/memory.h | 38 +
tools/cpt2/src/include/mm.h | 105 ++
tools/cpt2/src/include/net.h | 21 +
tools/cpt2/src/include/ns.h | 35 +
tools/cpt2/src/include/obj.h | 223 ++++
tools/cpt2/src/include/protobuf.h | 61 ++
tools/cpt2/src/include/read.h | 13 +
tools/cpt2/src/include/sig.h | 26 +
tools/cpt2/src/include/task.h | 31 +
tools/cpt2/src/include/types.h | 128 +++
tools/cpt2/src/inotify.c | 199 ++++
tools/cpt2/src/io.c | 72 ++
tools/cpt2/src/main.c | 79 ++
tools/cpt2/src/mm.c | 752 +++++++++++++
tools/cpt2/src/net.c | 80 ++
tools/cpt2/src/ns.c | 139 +++
tools/cpt2/src/obj.c | 270 +++++
tools/cpt2/src/protobuf.c | 201 ++++
tools/cpt2/src/read.c | 303 +++++
tools/cpt2/src/sig.c | 172 +++
tools/cpt2/src/task.c | 938 ++++++++++++++++
57 files changed, 8360 insertions(+), 3 deletions(-)
create mode 100644 tools/cpt2/Documentation/.gitattributes
create mode 100644 tools/cpt2/Documentation/.gitignore
create mode 100644 tools/cpt2/Documentation/Makefile
create mode 100644 tools/cpt2/Documentation/cpt2.txt
create mode 100644 tools/cpt2/Makefile
create mode 100644 tools/cpt2/README.md
create mode 100644 tools/cpt2/src/Makefile
create mode 100644 tools/cpt2/src/context.c
create mode 100644 tools/cpt2/src/convert.c
create mode 100644 tools/cpt2/src/exportfs.c
create mode 100644 tools/cpt2/src/fdset.c
create mode 100644 tools/cpt2/src/files.c
create mode 100644 tools/cpt2/src/image.c
create mode 100644 tools/cpt2/src/include/bug.h
create mode 100644 tools/cpt2/src/include/compiler.h
create mode 100644 tools/cpt2/src/include/context.h
create mode 100644 tools/cpt2/src/include/convert.h
create mode 100644 tools/cpt2/src/include/cpt-image.h
create mode 100644 tools/cpt2/src/include/cpt2.h
create mode 100644 tools/cpt2/src/include/err.h
create mode 100644 tools/cpt2/src/include/exportfs.h
create mode 100644 tools/cpt2/src/include/fdset.h
create mode 100644 tools/cpt2/src/include/files.h
create mode 100644 tools/cpt2/src/include/fpu.h
create mode 100644 tools/cpt2/src/include/hash.h
create mode 100644 tools/cpt2/src/include/hashtable.h
create mode 100644 tools/cpt2/src/include/image.h
create mode 100644 tools/cpt2/src/include/inotify.h
create mode 100644 tools/cpt2/src/include/io.h
create mode 100644 tools/cpt2/src/include/list.h
create mode 100644 tools/cpt2/src/include/log.h
create mode 100644 tools/cpt2/src/include/magicfs.h
create mode 100644 tools/cpt2/src/include/memory.h
create mode 100644 tools/cpt2/src/include/mm.h
create mode 100644 tools/cpt2/src/include/net.h
create mode 100644 tools/cpt2/src/include/ns.h
create mode 100644 tools/cpt2/src/include/obj.h
create mode 100644 tools/cpt2/src/include/protobuf.h
create mode 100644 tools/cpt2/src/include/read.h
create mode 100644 tools/cpt2/src/include/sig.h
create mode 100644 tools/cpt2/src/include/task.h
create mode 100644 tools/cpt2/src/include/types.h
create mode 100644 tools/cpt2/src/inotify.c
create mode 100644 tools/cpt2/src/io.c
create mode 100644 tools/cpt2/src/main.c
create mode 100644 tools/cpt2/src/mm.c
create mode 100644 tools/cpt2/src/net.c
create mode 100644 tools/cpt2/src/ns.c
create mode 100644 tools/cpt2/src/obj.c
create mode 100644 tools/cpt2/src/protobuf.c
create mode 100644 tools/cpt2/src/read.c
create mode 100644 tools/cpt2/src/sig.c
create mode 100644 tools/cpt2/src/task.c
--
1.8.1.4
More information about the CRIU
mailing list