[CRIU] [PATCH RFC 00/12] Make sending/receiving foreign file desctiptors async

Kirill Tkhai ktkhai at virtuozzo.com
Fri Oct 28 05:52:10 PDT 2016


Hi all!

I just want to say I'm reworking file opening scheme. There will be much more
patches, than now, in finally. Currently, the series implements asynchronous
sending/receiving foreing sockets. This is made by:

1)Opening one per-process transport socket for receiving foreign fds, using
  instead of per-fd transport sock. This gives more freedom from receiver
  open stages, and should improve scalability.
2)Allowing to send fle id together with fd to a peer, to help him determinate,
  which fd is received.
3)Analysing transport socket receive queue by peer and identifying fd.

Currently, I'm in process of making different file types have their own open
stages and further asynchrony.

If anybody are going to do something global with files, please, keep in mind me.
Your comments are wellcome.

---

Kirill Tkhai (12):
      files: Create per-process transport sock and bind it
      files: Wait transport_fd before sending a fd to peer
      pie: Allow to transfer pointers on struct fdinfo_list_entry together with fds
      files: Send/receive fds with pointers on their struct fdinfo_list_entry in receiver
      files: Move closing fle's transport_fd to recv_fd_from_peer()
      files: Move derefferencing of TRANSPORT_FD_OFF to send_fd_to_peer()
      files: Allow to receive further fds
      files: Make sending fds to peers async
      files: Receive real fd numbers using recv_fd_from_peer()
      files: Kill file_desc_ops::want_transport()
      files: Kill fd parameter of transport_name_gen()
      files: Use collect_gen_fd() in tty_collect_fd()


 criu/autofs.c           |    2 -
 criu/cr-restore.c       |    6 --
 criu/files.c            |  166 +++++++++++++++++++++++++----------------------
 criu/include/files.h    |   12 +--
 criu/include/pstree.h   |    2 +
 criu/include/util-pie.h |   11 ++-
 criu/parasite-syscall.c |    2 -
 criu/pie/parasite.c     |    2 -
 criu/pie/util-fd.c      |   51 +++++++++++---
 criu/pipes.c            |   17 +----
 criu/pstree.c           |    1 
 criu/sk-unix.c          |   19 +----
 criu/tty.c              |   31 +++------
 13 files changed, 157 insertions(+), 165 deletions(-)

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


More information about the CRIU mailing list