lkml.org 
[lkml]   [2009]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 10/30] cr: core stuff
On Tue, Apr 14, 2009 at 10:41:39AM -0500, Serge E. Hallyn wrote:
> Quoting Alexey Dobriyan (adobriyan@gmail.com):
> > On Mon, Apr 13, 2009 at 04:47:01PM -0500, Serge E. Hallyn wrote:
> > > Quoting Alexey Dobriyan (adobriyan@gmail.com):
> > >
> > > Hi Alexey,
> > >
> > > as far as I can see, the main differences between this patch and the
> > > equivalent in Oren's tree are:
> > >
> > > 1. kernel auto-selects container init to freeze
> >
> > Note, auto-select part was dropped, userspace is required to pass pid of
> > container init exactly. This was done to keep semantic of checkpoint(2)
> > small and extendable.
>
> sys_checkpoint() in this patch still finds the child_reaper of the
> passed-in pid, doesn't it? Or are you saying that a later patch in
> this set removes that?

I posted with auto-selecting?

Code now looks like this:

rcu_read_lock();
tsk = find_task_by_vpid(pid);
if (tsk) {
struct nsproxy *nsproxy;

nsproxy = task_nsproxy(tsk);
if (nsproxy) {
init_tsk = nsproxy->pid_ns->child_reaper;
if (init_tsk != tsk)
init_tsk = NULL;
} else
init_tsk = NULL;
if (init_tsk)
get_task_struct(init_tsk);
}
rcu_read_unlock();

This is to buy as little semantics on checkpoint(2) as possible.

If users later will complain that it's for some reason hard to see who is
root of container, it could be added.


\
 
 \ /
  Last update: 2009-04-14 19:03    [W:0.043 / U:9.948 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site