[CRIU] Re: [PATCH 08/14] files: Restore epolls lately

Cyrill Gorcunov gorcunov at openvz.org
Thu May 3 09:05:44 EDT 2012


On Thu, May 03, 2012 at 04:55:00PM +0400, Pavel Emelyanov wrote:
> On 04/29/2012 05:14 PM, Cyrill Gorcunov wrote:
> > 
> > We need to restore epolls lately since they might
> > use sockets/pipes/reg-files.
> > 
> > For this sake collect_fd splited to two functions,
> > collect_fd itself and alloc_fdinfo_list_entry.
> > 
> > Firstly we allocate fdinfo_list_entry and then
> > either collect it immediately if it's not epoll
> > file or postpone collecting.
> > 
> > Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
> > ---
> >  files.c |   71 +++++++++++++++++++++++++++++++++++++++++++++++----------------
> >  1 files changed, 53 insertions(+), 18 deletions(-)
> > 
> 
> Ah, now I see where the fix for eventpoll restore is.
> I believe the fix can be done simpler. Like this:

Been there, tried that :) Doesn't work. We have

	list_for_each_entry(l, &fdesc->fd_info_head, desc_list)
		if (l->pid > le->pid)
			break;

	list_add_tail(&le->desc_list, &l->desc_list);
	list_add_tail(&le->ps_list, fds);

thus desc_list get sorted (in sake of file_master()), and fds should be
sorted respectively, otherwise restore stick's in waiting for
files creation, if you need more details I can print out debug
output.

	Cyrill


More information about the CRIU mailing list