All of lore.kernel.org
 help / color / mirror / Atom feed
From: Li Zefan <lizf@cn.fujitsu.com>
To: Al Viro <viro@ZenIV.linux.org.uk>
Cc: containers@lists.osdl.org, Paul Menage <menage@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Arjan van de Ven <arjan@infradead.org>
Subject: Re: [cgroup or VFS ?] WARNING: at fs/namespace.c:636	mntput_no_expire+0xac/0xf2()
Date: Thu, 12 Feb 2009 14:33:04 +0800	[thread overview]
Message-ID: <4993C2A0.3050507@cn.fujitsu.com> (raw)
In-Reply-To: <20090212062442.GE28946@ZenIV.linux.org.uk>

>>>> How cute...  Same mountpoint in both, so these mount(2) will sometimes
>>>> fail (cgroup picks the same sb on the same options, AFAICS) and fail
>>>> silently due to these redirects...
>>>>
>>>> That's a lovely way to stress-test a large part of ro-bind stuff *and*
>>>> umount()-related code.  Could you do C equivalent of the above (just
>>>> the same syscalls in loop, nothing fancier) and do time-stamped strace?
>>>>
>>> Sure, I'll write a C version and try to reproduce the warning.
>>>
>> Unfortunately, the C equivalent can't reproduce the warning, I've run the
>> test for the whole night. :( While using the script, often I can trigger
>> the warning in several mins.
> 
> Ho-hum...  I wonder if we are hitting cgroup_clone() in all that fun...

I don't think so, I think cgroup_clone() will be called only if namespace is
used, like clone(CLONE_NEWNS). Even if cgroup_clone() gets called, it will
return before doing any vfs work unless the ns_cgroup subsystem is mounted.

int cgroup_clone(struct task_struct *tsk, struct cgroup_subsys *subsys,
							char *nodename)
{
	...
	mutex_lock(&cgroup_mutex);
 again:
	root = subsys->root;
	if (root == &rootnode) {	<--- here
		mutex_unlock(&cgroup_mutex);
		return 0;
	}

> Could you
> 	a) add a printk to that sucker
> 	b) independently from (a), see if wrapping these syscalls into
> 	pid = fork();
> 	if (!pid) {
> 		[make a syscall, print something]
> 		exit(0);
> 	} else if (pid > 0) {
> 		waitpid(pid, NULL, 0);
> 	}
> and see what happens...
> 
> 

  reply	other threads:[~2009-02-12  6:33 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-05  3:23 [cgroup or VFS ?] WARNING: at fs/namespace.c:636 mntput_no_expire+0xac/0xf2() Li Zefan
2009-02-09  8:40 ` Andrew Morton
2009-02-09  8:49   ` Li Zefan
2009-02-09 11:03     ` Al Viro
2009-02-09 11:58       ` Al Viro
2009-02-10  5:47         ` Li Zefan
2009-02-09  9:34   ` Al Viro
2009-02-09 11:30     ` Li Zefan
2009-02-12  6:10       ` Li Zefan
2009-02-12  6:24         ` Al Viro
2009-02-12  6:33           ` Li Zefan [this message]
2009-02-12  6:54             ` Li Zefan
     [not found]               ` <4993C7C2.4060100-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-02-12  7:07                 ` Al Viro
2009-02-12  7:07                   ` Al Viro
2009-02-13  5:09                   ` Li Zefan
     [not found]                     ` <4995007D.7040101-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-02-13  5:47                       ` Al Viro
2009-02-13  5:47                         ` Al Viro
2009-02-13  6:12                         ` Li Zefan
2009-02-13  6:31                           ` Li Zefan
     [not found]                           ` <49950F3D.3030704-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-02-13  6:41                             ` Al Viro
2009-02-13  6:41                               ` Al Viro
2009-02-13  7:18                               ` Al Viro
     [not found]                                 ` <20090213071816.GK28946-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2009-02-13  7:26                                   ` Li Zefan
2009-02-13  7:26                                     ` Li Zefan
2009-02-16  1:29                                     ` Li Zefan
2009-02-16  2:38                                       ` Al Viro
2009-02-16  2:47                                         ` Li Zefan
2009-02-16  2:57                                           ` Al Viro
2009-02-09 17:48     ` Dave Hansen
2009-02-09 18:11       ` Arjan van de Ven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4993C2A0.3050507@cn.fujitsu.com \
    --to=lizf@cn.fujitsu.com \
    --cc=akpm@linux-foundation.org \
    --cc=arjan@infradead.org \
    --cc=containers@lists.osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=menage@google.com \
    --cc=viro@ZenIV.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.