[Lxc-users] lxc-attach & setns patch for kernel 2.6.34
Sebastien Pahl
seb at dotcloud.com
Wed Jul 28 08:59:09 UTC 2010
Nice thats what I thought. I will build a 2.6.34.1 kernel. If
everything works like expected I will send you the updated patchset.
Does it have to be in the quilt format?
On Wed, Jul 28, 2010 at 01:51, Daniel Lezcano <daniel.lezcano at free.fr> wrote:
> On 07/28/2010 10:41 AM, Sebastien Pahl wrote:
>>
>> Hi,
>>
>> I'm trying to adapt the patch for lxc-attach to 2.6.34.
>> A few hunks fail but they are trivial to fix.
>> There is only one where I'm not sure:
>>
>> <------------------------------>
>>
>> Index: 2.6.33/kernel/cgroup.c
>> ===================================================================
>> --- 2.6.33.orig/kernel/cgroup.c
>> +++ 2.6.33/kernel/cgroup.c
>> @@ -2453,7 +2453,7 @@ static struct cgroup_pidlist *cgroup_pid
>> {
>> struct cgroup_pidlist *l;
>> /* don't need task_nsproxy() if we're looking at ourself */
>> - struct pid_namespace *ns = get_pid_ns(current->nsproxy->pid_ns);
>> + struct pid_namespace *ns =
>> get_pid_ns(task_active_pid_ns(current));
>> /*
>> * We can't drop the pidlist_mutex before taking the l->mutex in
>> case
>> * the last ref-holder is trying to remove l from the list at the
>> same
>>
>> <------------------------------>
>>
>> The kernel/cgroup.c file has changed:
>>
>> Instead of:
>>
>> struct pid_namespace *ns = get_pid_ns(current->nsproxy->pid_ns);
>>
>> now there is:
>>
>> struct pid_namespace *ns = current->nsproxy->pid_ns;
>>
>> > From what I have seen in the rest of the code I assume I can just
>> replace it by this line:
>>
>> struct pid_namespace *ns = task_active_pid_ns(current);
>>
>> Am I correct in my assumptions?
>>
>
> Yes, I think so. The get_pid_ns is done later in the code to reduce the
> rollback code (put_pid_ns) in case of error.
> As you have the right pid namespace in the 'ns' variable, your modification
> is correct I think.
>
> Thanks
> -- Daniel
>
--
Sebastien Pahl
@sebp
More information about the lxc-users
mailing list