From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [cgroup or VFS ?] INFO: possible recursive locking detected Date: Mon, 9 Feb 2009 11:23:21 +0000 Message-ID: <20090209112321.GW28946@ZenIV.linux.org.uk> References: <49617D2E.8050502@cn.fujitsu.com> <496576E7.1@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: LKML , Andrew Morton , Paul Menage , Arjan van de Ven , linux-fsdevel@vger.kernel.org To: Li Zefan Return-path: Received: from zeniv.linux.org.uk ([195.92.253.2]:35683 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752635AbZBILXW (ORCPT ); Mon, 9 Feb 2009 06:23:22 -0500 Content-Disposition: inline In-Reply-To: <496576E7.1@cn.fujitsu.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Thu, Jan 08, 2009 at 11:45:43AM +0800, Li Zefan wrote: > Hi Al Viro, > > I hacked into the kernel with the patch below (I think It's ok for me > to comment out bdev->bd_mount_sem for testing): > And ran 2 threads: > for ((; ;)) # thread 1 > { > mount -t ext3 /dev/sda9 /mnt1 > umount /mnt1 > } > > for ((; ;)) # thread 2 > { > mount -t ext3 /dev/sda9 /mnt2 > umount /mnt2 > } > > And I got the same lockdep warning immediately, so I think it's > VFS's issue. It's a lockdep issue, actually. It _is_ a false positive; we could get rid of that if we took destroy_super(s); just before grab_super(), but I really do not believe that there's any point. Frankly, I'd rather see if there's any way to teach lockdep that this instance of lock is getting initialized into "one writer" state and that yes, we know that it's not visible to anyone, so doing that is safe, TYVM, even though we are under spinlock. Then take that sucker to just before set(). In any case, I really do not believe that it might have anything to do with the WARN_ON() from another thread... Comments?