[CRIU] [PATCH 1/2] file: add a general approach for inherited files

Pavel Emelyanov xemul at virtuozzo.com
Wed Feb 17 02:51:55 PST 2016


On 02/13/2016 08:55 PM, Andrey Vagin wrote:
> From: Andrew Vagin <avagin at virtuozzo.com>
> 
> How to restore an external file? The problem is that a file
> can be opened with different flags (O_APPNED, O_RDWR, O_RONLY,
> etc). These flags can't be changed for a file descriptor, so
> we can't just duplicate an inherit fd, when we meet an external
> file.
> 
> A file is external, when we can't access them directly.
> CRIU is able to restore a file descriptor, if it knows
> how to open it, so we need to provide a way to open
> an external file.
> 
> The idea of this patch is that we can open an external file
> via /proc/self/fd/X where X is an inherit fd.
> 
> This approach works for files and fifo.
> 
> An example how it can be used:
> criu -o dump.log -D dump/fifo.py/6/1 -v4 -t 6 --external file[72:a3e7]
> criu -o restore.log -D dump/fifo.py/6/1 -v4 --restore-sibling --inherit-fd fd[4]:file[72:a3e7] --restore-detached
> 
> https://github.com/xemul/criu/issues/104
> 
> Cc: Saied Kazemi <saied at google.com>
> Signed-off-by: Andrew Vagin <avagin at virtuozzo.com>

Applied.

Please (PLEASE) describe this in https://criu.org/External_resources article.

-- Pavel



More information about the CRIU mailing list