[CRIU] [PATCH 0/9] unix: Add support for bindmounted dgram sockets

Cyrill Gorcunov gorcunov at gmail.com
Sat Jun 9 16:26:02 MSK 2018


Sometime digram sockets are bindmounted to other locations, for
example we had containers where /dev/log is mounted into another
places.

To support it we do the following:

 - on checkpoint we examitate bindmounts if there is a unix
   socket behind it, and if so we mark it with flag in images;

 - on restore we use fdstore to keep "pre-opened" sockets since
   generation of mount tree is happened earlier than file restoration,
   later when we need to open such file we simply fetch it from the
   fdstore.

Note the series is appliable on top of ghost sockets support

 | [PATCH v7 0/8] Add support of deleted unix sockets

https://travis-ci.org/cyrillos/criu/builds/390107668

Cyrill Gorcunov (9):
  zdtm: Add sstrncpy helper
  unix: image -- Shift mnt_id index
  unix: image -- Move uflags into enum
  unix: Collect bindmounted unix sockets
  unix: Collect images before opening mountpoints
  unix: Collect bindmounted unix sockets into own list
  unix: Move shared data init into early stage
  unix: Add support for bindmounted sockets
  unix: Add bind-mount-unix test case

 criu/cr-dump.c                        |   3 +
 criu/cr-restore.c                     |   5 +-
 criu/include/sockets.h                |   4 +
 criu/mount.c                          |   7 +
 criu/sk-unix.c                        | 408 +++++++++++++++++++++++++++-------
 images/sk-unix.proto                  |  16 +-
 test/zdtm/lib/zdtmtst.h               |   5 +
 test/zdtm/static/Makefile             |   1 +
 test/zdtm/static/bind-mount-unix.c    | 139 ++++++++++++
 test/zdtm/static/bind-mount-unix.desc |   1 +
 10 files changed, 505 insertions(+), 84 deletions(-)
 create mode 100644 test/zdtm/static/bind-mount-unix.c
 create mode 100644 test/zdtm/static/bind-mount-unix.desc

-- 
2.14.4



More information about the CRIU mailing list