[CRIU] Is it possible to bypass dumping external unix domain socket?

Jun Gan geminijun at gmail.com
Tue Jan 14 06:32:52 MSK 2020


Say I have two programs A & B, they're communicating to each other by unix
domain socket, SOCK_STREAM to be concise. B as server and A is the client.
A also has a mechanism that when it found connection is lost, A will try to
re-connect by itself.

 I'd like to use CRIU dump both of them while keep them
running(--leaving-running). Also restore them when system reboot(Or on
another machine if possible)

As I mentioned before, for this unix domain socket, it's totally fine to
not dump it at all. Just leave it there, and after restore, A just need to
re-connect to B then every is find to me.

Is there an option to do this?

I actually tried two approaches 1) write a plugin for it 2) use --external
unix[ino]

For process A(the client), it's not a big deal. But when dumping B while
keep A running, I can dump it but not restore.

This external socket in B is actually created by ```accept```. when A tried
to connect to B(The listening socket in B is not a problem here)

When I restored B, with or without plugin, CRIU seems always asked to
create a valid socket. otherwise it will failed. But since at this time, A
is not restored yet, and A will re-connect to B anyways, I don't really
need this socket.(Only the one on listening is good enough).

Really appreciate it if someone has an idea on this.


Thanks a lot!!!


Best,
Jun Gan






-- 
Jun Gan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvz.org/pipermail/criu/attachments/20200113/7aca258b/attachment.html>


More information about the CRIU mailing list