Bug 12487 - lockdep report with hfsplus
Summary: lockdep report with hfsplus
Status: RESOLVED CODE_FIX
Alias: None
Product: File System
Classification: Unclassified
Component: HFS/HFSPLUS (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Christoph Hellwig
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-19 06:28 UTC by Johannes Berg
Modified: 2010-10-28 12:51 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.29-rc1-wl-11384-g916f396-dirty
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Johannes Berg 2009-01-19 06:28:51 UTC
Latest working kernel version: ?
Earliest failing kernel version: this
Distribution: debian/unstable
Hardware Environment: quad powermac G5
Software Environment: ?

=============================================
[ INFO: possible recursive locking detected ]
2.6.29-rc1-wl-11384-g916f396-dirty #12
---------------------------------------------
rm/4451 is trying to acquire lock:
 (&sb->s_type->i_mutex_key#12){--..}, at: [<c0000000001b8a7c>] .hfsplus_block_free+0x78/0x27c

but task is already holding lock:
 (&sb->s_type->i_mutex_key#12){--..}, at: [<c000000000114268>] .vfs_unlink+0x58/0x104

other info that might help us debug this:
3 locks held by rm/4451:
 #0:  (&type->i_mutex_dir_key#6/1){--..}, at: [<c000000000116ce0>] .do_unlinkat+0x68/0x18c
 #1:  (&sb->s_type->i_mutex_key#12){--..}, at: [<c000000000114268>] .vfs_unlink+0x58/0x104
 #2:  (&HFSPLUS_I(inode).extents_lock){--..}, at: [<c0000000001b13b0>] .hfsplus_file_truncate+0xf4/0x35c

stack backtrace:
Call Trace:
[c0000001c54d33b0] [c00000000000faf4] .show_stack+0x6c/0x174 (unreliable)
[c0000001c54d3460] [c0000000000855ec] .print_deadlock_bug+0x10c/0x138
[c0000001c54d3500] [c0000000000885c8] .validate_chain+0x67c/0x928
[c0000001c54d35c0] [c00000000008909c] .__lock_acquire+0x828/0x908
[c0000001c54d36c0] [c000000000089220] .lock_acquire+0xa4/0xec
[c0000001c54d3780] [c00000000041fcc0] .mutex_lock_nested+0x194/0x4c8
[c0000001c54d3890] [c0000000001b8a7c] .hfsplus_block_free+0x78/0x27c
[c0000001c54d3950] [c0000000001b103c] .hfsplus_free_extents+0x8c/0x120
[c0000001c54d3a00] [c0000000001b13fc] .hfsplus_file_truncate+0x140/0x35c
[c0000001c54d3b20] [c0000000001af8b0] .hfsplus_delete_inode+0x84/0xa4
[c0000001c54d3ba0] [c0000000001b3240] .hfsplus_unlink+0x180/0x1f0
[c0000001c54d3c80] [c0000000001142a0] .vfs_unlink+0x90/0x104
[c0000001c54d3d10] [c000000000116d5c] .do_unlinkat+0xe4/0x18c
[c0000001c54d3e30] [c000000000007554] syscall_exit+0x0/0x40
Comment 1 Christoph Hellwig 2010-10-01 07:29:54 UTC
This is fixed by http://marc.info/?l=linux-fsdevel&m=128553602814955&w=2
Comment 2 Christoph Hellwig 2010-10-28 12:51:58 UTC
Pushed to mainline now.

Note You need to log in before you can comment on or make changes to this bug.