[CRIU] [PATCH v5 00/42] Nested pid namespaces support

Kirill Tkhai ktkhai at virtuozzo.com
Fri May 5 09:12:09 PDT 2017


Hi,

this is the fifth version of the patchset. There were
deleted the hunks, which made pstree halpers without
CLONE_FILES. See [2-6/42] for the details.

---

Kirill Tkhai (42):
      pstree: Implement free_pstree_item() helper
      ns: Do not change net_ns in prepare_net_namespaces()
      mnt: Put root fd to fdstore
      pstree: Change type of init_pstree_helper() and check for parent
      files: Make possible task helpers to use shared_fdt_prepare()
      cr-restore: Open transport socket earlier
      zdtm: Add pidns00 test
      zdtm: Add pidns01 test
      pid_ns: Implement pid_ns_root_off()
      pstree: Change arguments in parse_pid_status()
      pstree: Introduce PID_SIZE() helper
      pstree: Use thread group leader level of pid to allocate threads
      pstree: Move thread allocation up and do cleanup
      pstree: Pre-dump ns ids before tasks
      pstree: Collect NSpid, NSsid and NStgid when possible
      pstree: Skip zombie dumping tricks if there is kdat.has_nspid
      zombie: Kill by last_level_pid, not by vpid
      images: Add NSpids pstree descriptions
      pstree: Dump and restore NSpid, NSsid etc
      pstree: Make get_free_pid() work for different pid_ns and export it
      pstree: Extract __pstree_item_by_virt() to act on any pid_ns
      ns: Reserve pid_ns helpers
      restore: Implement set_next_pid() helper
      pid: Always lock last pid file on clone()
      pid: Add fdstore id for pid_ns descriptor
      fdstore: Init fdstore earlier
      pid: Save created pid_ns fd to fdstore
      ns: Always start usernsd
      pid: Add pid ns futex helper_created
      ns: Install transport fd socket in usernsd
      cr-restore: Add argument to criu_signals_setup()
      ns: Add usernsd signal handler
      pid: Create pid_ns helpers
      pid: Wait till pid_ns created before we create a child of this ns
      pid: Set pid_ns before we create a child
      pid_ns: Set user_ns before creation of pid_ns
      pid: Teach set_next_pid() working with nested pid_ns
      restorer: Close transport socket later
      restorer: Set NStids in all pid_ns for thread before we create it.
      pid: Check for equality of getpid() of child to last_level_pid
      pstree: Use CLONE_NEWPID only to create child reaper of pid_ns
      ns: Nested pid_ns support


 criu/cr-dump.c                |   56 +++++-
 criu/cr-restore.c             |  356 ++++++++++++++++++++++++++++++++++-------
 criu/files-reg.c              |    6 -
 criu/files.c                  |   20 +-
 criu/include/namespaces.h     |   17 ++
 criu/include/proc_parse.h     |    3 
 criu/include/pstree.h         |   22 ++-
 criu/include/restore.h        |    3 
 criu/include/restorer.h       |    6 +
 criu/mount.c                  |   19 +-
 criu/namespaces.c             |  359 +++++++++++++++++++++++++++++++++++++++++
 criu/net.c                    |   16 +-
 criu/ns-common.c              |   51 ++++++
 criu/pie/restorer.c           |   50 ++++--
 criu/proc_parse.c             |   81 +++++++++
 criu/pstree.c                 |  259 ++++++++++++++++++++++--------
 criu/seize.c                  |   41 +++--
 criu/sk-unix.c                |   11 +
 images/pstree.proto           |   17 +-
 test/zdtm/static/Makefile     |    2 
 test/zdtm/static/pidns00.c    |  205 +++++++++++++++++++++++
 test/zdtm/static/pidns00.desc |    1 
 test/zdtm/static/pidns01.c    |  164 +++++++++++++++++++
 test/zdtm/static/pidns01.desc |    1 
 test/zdtm/static/tun.desc     |    2 
 25 files changed, 1558 insertions(+), 210 deletions(-)
 create mode 100644 criu/ns-common.c
 create mode 100644 test/zdtm/static/pidns00.c
 create mode 100644 test/zdtm/static/pidns00.desc
 create mode 100644 test/zdtm/static/pidns01.c
 create mode 100644 test/zdtm/static/pidns01.desc

--
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>


More information about the CRIU mailing list