• Peter Zijlstra's avatar
    [PATCH] nfsd: lockdep annotation · 12fd3520
    Peter Zijlstra authored
    while doing a kernel make modules_install install over an NFS mount.
    
      =============================================
      [ INFO: possible recursive locking detected ]
      ---------------------------------------------
      nfsd/9550 is trying to acquire lock:
       (&inode->i_mutex){--..}, at: [<c034c845>] mutex_lock+0x1c/0x1f
    
      but task is already holding lock:
       (&inode->i_mutex){--..}, at: [<c034c845>] mutex_lock+0x1c/0x1f
    
      other info that might help us debug this:
      2 locks held by nfsd/9550:
       #0:  (hash_sem){..--}, at: [<cc895223>] exp_readlock+0xd/0xf [nfsd]
       #1:  (&inode->i_mutex){--..}, at: [<c034c845>] mutex_lock+0x1c/0x1f
    
      stack backtrace:
       [<c0103508>] show_trace_log_lvl+0x58/0x152
       [<c0103b8b>] show_trace+0xd/0x10
       [<c0103c2f>] dump_stack+0x19/0x1b
       [<c012aa57>] __lock_acquire+0x77a/0x9a3
       [<c012af4a>] lock_acquire+0x60/0x80
       [<c034c6c2>] __mutex_lock_slowpath+0xa7/0x20e
       [<c034c845>] mutex_lock+0x1c/0x1f
       [<c0162edc>] vfs_unlink+0x34/0x8a
       [<cc891d98>] nfsd_unlink+0x18f/0x1e2 [nfsd]
       [<cc89884f>] nfsd3_proc_remove+0x95/0xa2 [nfsd]
       [<cc88f0d4>] nfsd_dispatch+0xc0/0x178 [nfsd]
       [<c033e84d>] svc_process+0x3a5/0x5ed
       [<cc88f5ba>] nfsd+0x1a7/0x305 [nfsd]
       [<c0101005>] kernel_thread_helper+0x5/0xb
      DWARF2 unwinder stuck at kernel_thread_helper+0x5/0xb
      Leftover inexact backtrace:
       [<c0103b8b>] show_trace+0xd/0x10
       [<c0103c2f>] dump_stack+0x19/0x1b
       [<c012aa57>] __lock_acquire+0x77a/0x9a3
       [<c012af4a>] lock_acquire+0x60/0x80
       [<c034c6c2>] __mutex_lock_slowpath+0xa7/0x20e
       [<c034c845>] mutex_lock+0x1c/0x1f
       [<c0162edc>] vfs_unlink+0x34/0x8a
       [<cc891d98>] nfsd_unlink+0x18f/0x1e2 [nfsd]
       [<cc89884f>] nfsd3_proc_remove+0x95/0xa2 [nfsd]
       [<cc88f0d4>] nfsd_dispatch+0xc0/0x178 [nfsd]
       [<c033e84d>] svc_process+0x3a5/0x5ed
       [<cc88f5ba>] nfsd+0x1a7/0x305 [nfsd]
       [<c0101005>] kernel_thread_helper+0x5/0xb
    
      =============================================
      [ INFO: possible recursive locking detected ]
      ---------------------------------------------
      nfsd/9580 is trying to acquire lock:
       (&inode->i_mutex){--..}, at: [<c034cc1d>] mutex_lock+0x1c/0x1f
    
      but task is already holding lock:
       (&inode->i_mutex){--..}, at: [<c034cc1d>] mutex_lock+0x1c/0x1f
    
      other info that might help us debug this:
      2 locks held by nfsd/9580:
       #0:  (hash_sem){..--}, at: [<cc89522b>] exp_readlock+0xd/0xf [nfsd]
       #1:  (&inode->i_mutex){--..}, at: [<c034cc1d>] mutex_lock+0x1c/0x1f
    
      stack backtrace:
       [<c0103508>] show_trace_log_lvl+0x58/0x152
       [<c0103b8b>] show_trace+0xd/0x10
       [<c0103c2f>] dump_stack+0x19/0x1b
       [<c012aa63>] __lock_acquire+0x77a/0x9a3
       [<c012af56>] lock_acquire+0x60/0x80
       [<c034ca9a>] __mutex_lock_slowpath+0xa7/0x20e
       [<c034cc1d>] mutex_lock+0x1c/0x1f
       [<cc892ad1>] nfsd_setattr+0x2c8/0x499 [nfsd]
       [<cc893ede>] nfsd_create_v3+0x31b/0x4ac [nfsd]
       [<cc8984a1>] nfsd3_proc_create+0x128/0x138 [nfsd]
       [<cc88f0d4>] nfsd_dispatch+0xc0/0x178 [nfsd]
       [<c033ec1d>] svc_process+0x3a5/0x5ed
       [<cc88f5ba>] nfsd+0x1a7/0x305 [nfsd]
       [<c0101005>] kernel_thread_helper+0x5/0xb
      DWARF2 unwinder stuck at kernel_thread_helper+0x5/0xb
      Leftover inexact backtrace:
       [<c0103b8b>] show_trace+0xd/0x10
       [<c0103c2f>] dump_stack+0x19/0x1b
       [<c012aa63>] __lock_acquire+0x77a/0x9a3
       [<c012af56>] lock_acquire+0x60/0x80
       [<c034ca9a>] __mutex_lock_slowpath+0xa7/0x20e
       [<c034cc1d>] mutex_lock+0x1c/0x1f
       [<cc892ad1>] nfsd_setattr+0x2c8/0x499 [nfsd]
       [<cc893ede>] nfsd_create_v3+0x31b/0x4ac [nfsd]
       [<cc8984a1>] nfsd3_proc_create+0x128/0x138 [nfsd]
       [<cc88f0d4>] nfsd_dispatch+0xc0/0x178 [nfsd]
       [<c033ec1d>] svc_process+0x3a5/0x5ed
       [<cc88f5ba>] nfsd+0x1a7/0x305 [nfsd]
       [<c0101005>] kernel_thread_helper+0x5/0xb
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Neil Brown <neilb@suse.de>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Arjan van de Ven <arjan@infradead.org>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    12fd3520
vfs.c 45.2 KB