Re: VFS deadlock ?
[Posted April 2, 2013 by mkerrisk]
| From: |
| Al Viro <viro-AT-ZenIV.linux.org.uk> |
| To: |
| Dave Jones <davej-AT-redhat.com>,
Linux Kernel <linux-kernel-AT-vger.kernel.org>,
Linus Torvalds <torvalds-AT-linux-foundation.org> |
| Subject: |
| Re: VFS deadlock ? |
| Date: |
| Thu, 21 Mar 2013 19:21:46 +0000 |
| Message-ID: |
| <20130321192146.GX21522@ZenIV.linux.org.uk> |
| Archive‑link: | |
Article |
On Thu, Mar 21, 2013 at 03:06:53PM -0400, Dave Jones wrote:
> Al, Linus,
> trinity-child2 D ffff880110b3a7e0 5448 7669 1 0x00000004
[sits in rename(), trying to grab ->i_mutex on a parent]
> Showing all locks held in the system:
> 4 locks on stack by trinity-child2/7669:
> #0: blocked: (sb_writers#4){.+.+.+}, instance: ffff8801292d17d8, at: [<ffffffff811df134>]
mnt_want_write+0x24/0x50
> #1: held: (&type->s_vfs_rename_key){+.+.+.}, instance: ffff8801292d1928, at:
[<ffffffff811c6f5e>] lock_rename+0x3e/0x120
> #2: held: (&type->i_mutex_dir_key#2/1){+.+.+.}, instance: ffff880110b3a858, at:
[<ffffffff811c701e>] lock_rename+0xfe/0x120
> #3: blocked: (&type->i_mutex_dir_key#2/2){+.+.+.}, instance: ffff880110b3a858, at:
[<ffffffff811c7034>] lock_rename+0x114/0x120
Wait a minute... How the hell does it manage to sit with *two* blocked locks?
Confused...