Hi, On 01/12/08 17:18 +0100, Louis Rilling wrote: > On 29/11/08 14:22 +0900, [EMAIL PROTECTED] wrote: > > > > Louis Rilling: > > > I could not trigger the bug yet, but while trying to (with your patch) I > > > go= > > > t the > > > following lockdep warning: > > ::: > > > [ 1210.030680] Call Trace: > > > [ 1210.030744] [<ffffffff80253b7b>] __lock_acquire+0x8e0/0xc7a > > > [ 1210.030788] [<ffffffff80254362>] lock_acquire+0x88/0xb2 > > > [ 1210.030836] [<ffffffff883c9931>] :aufs:aufs_destroy_inode+0x181/0x1b7 > > > [ 1210.030879] [<ffffffff8042f7a0>] down_read+0x32/0x3b > > > [ 1210.030925] [<ffffffff883c9931>] :aufs:aufs_destroy_inode+0x181/0x1b7 > > ::: > > > > Thank you for your tests. > > > > Here the call trace shows down_read(), but tha patch I send replaces > > down_read() by down_read_trylock(). > > Won't you make sure that your fs/aufs25/super.c:aufs_destroy_inode() is > > patched expectedly? > > You're right, the modprobe'd moduled was the unpatched one. Dunno what > happened... > > I'm testing the patched one now.
I got a new lockdep warning (and was able to reproduce the bug but my setup was
not correct, so that I could not gather the needed data):
[ 30.392578] aufs 20081117
[ 48.412472] aufs test_add:432:mount[2880]: uid/gid/perm /srv/.nfsroot64-base
0/0/0755, 0/0/01777
[ 63.916481]
[ 63.916483] =============================================
[ 63.916613] [ INFO: possible recursive locking detected ]
[ 63.916691] 2.6.25-elric #10
[ 63.916760] ---------------------------------------------
[ 63.916830] nfsd/2635 is trying to acquire lock:
[ 63.916896] (&rw->rwsem#4){----}, at: [<ffffffff8840928e>]
aufs_permission+0x241/0xa89 [aufs]
[ 63.917039]
[ 63.917039] but task is already holding lock:
[ 63.917039] (&rw->rwsem#4){----}, at: [<ffffffff883fca17>]
do_ii_write_lock+0x35/0x1b8 [aufs]
[ 63.917039]
[ 63.917039] other info that might help us debug this:
[ 63.917039] 6 locks held by nfsd/2635:
[ 63.917039] #0: (hash_sem){..--}, at: [<ffffffff88306801>]
nfsd+0x189/0x2b4 [nfsd]
[ 63.917039] #1: (&type->i_mutex_dir_key#5){--..}, at: [<ffffffff802ae104>]
vfs_readdir+0x51/0xa9
[ 63.917039] #2: (&rw->rwsem){----}, at: [<ffffffff88402892>]
aufs_readdir+0x198/0x47e [aufs]
[ 63.917039] #3: (&rw->rwsem#6){--..}, at: [<ffffffff883febc3>]
au_reval_and_lock_fdi+0xd9/0xc59 [aufs]
[ 63.917039] #4: (&rw->rwsem#2){----}, at: [<ffffffff883fcc30>]
di_write_lock+0x96/0xcf [aufs]
[ 63.917039] #5: (&rw->rwsem#4){----}, at: [<ffffffff883fca17>]
do_ii_write_lock+0x35/0x1b8 [aufs]
[ 63.917039]
[ 63.917039] stack backtrace:
[ 63.917039] Pid: 2635, comm: nfsd Not tainted 2.6.25-elric #10
[ 63.917039]
[ 63.917039] Call Trace:
[ 63.917039] [<ffffffff80253b7b>] __lock_acquire+0x8e0/0xc7a
[ 63.917039] [<ffffffff80254362>] lock_acquire+0x88/0xb2
[ 63.917039] [<ffffffff8840928e>] :aufs:aufs_permission+0x241/0xa89
[ 63.917039] [<ffffffff8024b0b0>] down_read_nested+0x3c/0x48
[ 63.917039] [<ffffffff8840928e>] :aufs:aufs_permission+0x241/0xa89
[ 63.917039] [<ffffffff802a1ee3>] do_sync_write+0x0/0x118
[ 63.917039] [<ffffffff883eabf3>] :aufs:xino_fwrite+0x140/0x15f
[ 63.917039] [<ffffffff802a1ee3>] do_sync_write+0x0/0x118
[ 63.917039] [<ffffffff802a8efd>] permission+0xb5/0x10a
[ 63.917039] [<ffffffff802aa9be>] lookup_one_len+0x2d/0x4e
[ 63.917039] [<ffffffff8831241d>] :nfsd:compose_entry_fh+0xc1/0x117
[ 63.917039] [<ffffffff88312669>] :nfsd:encode_entry+0x181/0x39b
[ 63.917039] [<ffffffff88404a4a>] :aufs:fillvdir+0x0/0x5f1
[ 63.917039] [<ffffffff88136bd9>] :ext3:call_filldir+0x75/0xa0
[ 63.917039] [<ffffffff88136ed1>] :ext3:ext3_readdir+0x1dc/0x53f
[ 63.917039] [<ffffffff88404a4a>] :aufs:fillvdir+0x0/0x5f1
[ 63.917039] [<ffffffff88312893>] :nfsd:nfs3svc_encode_entry_plus+0x10/0x13
[ 63.917039] [<ffffffff884053fe>] :aufs:au_vdir_fill_de+0x3c3/0x47f
[ 63.917039] [<ffffffff88312883>] :nfsd:nfs3svc_encode_entry_plus+0x0/0x13
[ 63.917039] [<ffffffff88417ea3>] :aufs:au_nfsd_readdir_reg+0xc1/0xe4
[ 63.917039] [<ffffffff884029be>] :aufs:aufs_readdir+0x2c4/0x47e
[ 63.917039] [<ffffffff88312883>] :nfsd:nfs3svc_encode_entry_plus+0x0/0x13
[ 63.917039] [<ffffffff8042f60f>] mutex_lock_killable_nested+0x2d9/0x2fd
[ 63.917039] [<ffffffff80252e07>] trace_hardirqs_on+0xf5/0x118
[ 63.917039] [<ffffffff802a0a6c>] __dentry_open+0x114/0x1c0
[ 63.917039] [<ffffffff88312883>] :nfsd:nfs3svc_encode_entry_plus+0x0/0x13
[ 63.917039] [<ffffffff802ae12a>] vfs_readdir+0x77/0xa9
[ 63.917039] [<ffffffff88312883>] :nfsd:nfs3svc_encode_entry_plus+0x0/0x13
[ 63.917039] [<ffffffff8830a306>] :nfsd:nfsd_readdir+0x6d/0xc4
[ 63.917039] [<ffffffff883118ca>] :nfsd:nfsd3_proc_readdirplus+0xf7/0x1f5
[ 63.917039] [<ffffffff88306249>] :nfsd:nfsd_dispatch+0xde/0x1b6
[ 63.917039] [<ffffffff882b3854>] :sunrpc:svc_process+0x3eb/0x707
[ 63.917039] [<ffffffff88306678>] :nfsd:nfsd+0x0/0x2b4
[ 63.917039] [<ffffffff88306818>] :nfsd:nfsd+0x1a0/0x2b4
[ 63.917039] [<ffffffff8020d028>] child_rip+0xa/0x12
[ 63.917039] [<ffffffff8020c5bc>] restore_args+0x0/0x30
[ 63.917039] [<ffffffff88306678>] :nfsd:nfsd+0x0/0x2b4
[ 63.917039] [<ffffffff8020d01e>] child_rip+0x0/0x12
[ 63.917039]
Thanks!
Louis
--
Dr Louis Rilling Kerlabs
Skype: louis.rilling Batiment Germanium
Phone: (+33|0) 6 80 89 08 23 80 avenue des Buttes de Coesmes
http://www.kerlabs.com/ 35700 Rennes
signature.asc
Description: Digital signature
------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
