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? -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html