• Peter Zijlstra's avatar
    [PATCH] lockdep: annotate nfsd4 recover code · 4b75f78e
    Peter Zijlstra authored
    > =============================================
    > [ INFO: possible recursive locking detected ]
    > 2.6.18-1.2724.lockdepPAE #1
    > ---------------------------------------------
    > nfsd/6884 is trying to acquire lock:
    >  (&inode->i_mutex){--..}, at: [<c04811e5>] vfs_rmdir+0x73/0xf4
    >
    > but task is already holding lock:
    >  (&inode->i_mutex){--..}, at: [<f8dfa621>]
    > nfsd4_clear_clid_dir+0x1f/0x3d [nfsd]
    >
    > other info that might help us debug this:
    > 3 locks held by nfsd/6884:
    >  #0:  (hash_sem){----}, at: [<f8de05eb>] nfsd+0x181/0x2ea [nfsd]
    >  #1:  (client_mutex){--..}, at: [<f8df6d19>]
    > nfsd4_setclientid_confirm+0x3b/0x2cf [nfsd]
    >  #2:  (&inode->i_mutex){--..}, at: [<f8dfa621>]
    > nfsd4_clear_clid_dir+0x1f/0x3d [nfsd]
    >
    > stack backtrace:
    >  [<c040524d>] dump_trace+0x69/0x1af
    >  [<c04053ab>] show_trace_log_lvl+0x18/0x2c
    >  [<c040595f>] show_trace+0xf/0x11
    >  [<c0405a53>] dump_stack+0x15/0x17
    >  [<c043ca7a>] __lock_acquire+0x110/0x9b6
    >  [<c043d91e>] lock_acquire+0x5c/0x7a
    >  [<c061a41b>] __mutex_lock_slowpath+0xde/0x234
    >  [<c04811e5>] vfs_rmdir+0x73/0xf4
    >  [<f8dfa62b>] nfsd4_clear_clid_dir+0x29/0x3d [nfsd]
    >  [<f8dfa733>] nfsd4_remove_clid_dir+0xb8/0xf8 [nfsd]
    >  [<f8df6e90>] nfsd4_setclientid_confirm+0x1b2/0x2cf [nfsd]
    >  [<f8def19a>] nfsd4_proc_compound+0x137a/0x166c [nfsd]
    >  [<f8de00d5>] nfsd_dispatch+0xc5/0x180 [nfsd]
    >  [<f8d09d83>] svc_process+0x3bd/0x631 [sunrpc]
    >  [<f8de0604>] nfsd+0x19a/0x2ea [nfsd]
    >  [<c0404e27>] kernel_thread_helper+0x7/0x10
    > DWARF2 unwinder stuck at kernel_thread_helper+0x7/0x10
    > Leftover inexact backtrace:
    >  =======================
    
    Some nesting annotation to the nfsd4 recovery code.
    The vfs operations called will take dentry->d_inode->i_mutex.
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Neil Brown <neilb@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    4b75f78e
nfs4recover.c 9.88 KB