commit 7534432dcc3c654a8671b6b0cdffd1dbdbc73074

Paul Menage menage at google.com
Thu Jan 22 16:26:11 PST 2009


On Thu, Jan 22, 2009 at 3:35 PM, Paul Menage <menage at google.com> wrote:
> On Thu, Jan 22, 2009 at 3:07 PM, Paul Menage <menage at google.com> wrote:
>>> mount -t cgroup -o freezer,ns none /cgroup
>>
>> This command should have failed with EBUSY, since freezer is already
>> part of an existing hierarchy. So I think it's a red herring in this
>> problem.
>
> But in fact taking out this line does stop the crash. So it's a bug in
> the error handling when you try to mount a hierarchy with a subsystem
> that's already busy elsewhere.

It's due to root_count getting out of sync with reality. It gets
incremented in cgroup_get_sb() after we've done all error checking,
but decremented in cgroup_kill_sb, which can be called on a superblock
that we tried to create but then gave up on. I guess the fix is to
increment root_count as soon as we have the superblock.

Paul


More information about the Containers mailing list