Re: Lockdep warning in btrfs_clear_lock_blocking

2011-07-12 Thread Morten P.D. Stevens
2011/5/10 David Sterba d...@jikos.cz

 Hi,

 I've hit this lockdep warning, 2.6.39rc6. Single btrfs partition, 30GB,
 filled with 2GB, compress-force=lzo, warning trigered after normal copy+du.
 Happened only once.

 [Might be a false positive.]

Hi,

I have a similar error with 3.0-rc6.

OS: Fedora 15
Kernel: 3.0-0.rc6.git6.1.fc16.x86_64

Jul 12 15:44:13 x86-002 kernel: [ 1294.229850]
Jul 12 15:44:13 x86-002 kernel: [ 1294.229852]
=
Jul 12 15:44:13 x86-002 kernel: [ 1294.230298] [ INFO: possible
recursive locking detected ]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443] 3.0-0.rc6.git6.1.fc16.x86_64 #1
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]
-
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443] mv/1289 is trying to
acquire lock:
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]
((eb-lock)-rlock){+.+...}, at: [a01b84cc]
btrfs_try_spin_lock+0x27/0x83 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443] but task is already holding lock:
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]
((eb-lock)-rlock){+.+...}, at: [a01b849c]
btrfs_clear_lock_blocking+0x1f/0x28 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443] other info that might
help us debug this:
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  Possible unsafe
locking scenario:
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]CPU0
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]   lock((eb-lock)-rlock);
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]   lock((eb-lock)-rlock);
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  *** DEADLOCK ***
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  May be due to missing
lock nesting notation
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443] 1 lock held by mv/1289:
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  #0:
((eb-lock)-rlock){+.+...}, at: [a01b849c]
btrfs_clear_lock_blocking+0x1f/0x28 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443] stack backtrace:
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443] Pid: 1289, comm: mv Not
tainted 3.0-0.rc6.git6.1.fc16.x86_64 #1
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443] Call Trace:
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [81088c6d]
__lock_acquire+0x917/0xcf7
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [8100e9ad] ?
paravirt_read_tsc+0x9/0xd
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [8100ee82] ?
sched_clock+0x9/0xd
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [8107a44d] ?
sched_clock_local+0x12/0x75
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a01b849c] ?
btrfs_clear_lock_blocking+0x1f/0x28 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a01b84cc] ?
btrfs_try_spin_lock+0x27/0x83 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [810894da]
lock_acquire+0xbf/0x103
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a01b84cc] ?
btrfs_try_spin_lock+0x27/0x83 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [814f61e8]
_raw_spin_lock+0x36/0x6a
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a01b84cc] ?
btrfs_try_spin_lock+0x27/0x83 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a01b849c] ?
btrfs_clear_lock_blocking+0x1f/0x28 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a01b84cc]
btrfs_try_spin_lock+0x27/0x83 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a0178d30]
btrfs_search_slot+0x37b/0x499 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a0186a3a]
btrfs_lookup_csum+0x68/0x10a [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a0186c59]
__btrfs_lookup_bio_sums+0x17d/0x2e2 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a0186e0e]
btrfs_lookup_bio_sums+0x16/0x18 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a01917b3]
btrfs_submit_bio_hook+0x9b/0x111 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a01a9137]
submit_one_bio+0x92/0xca [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a01ac752]
extent_readpages+0xbf/0xd0 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a0192aeb] ?
uncompress_inline+0x11e/0x11e [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [a019260c]
btrfs_readpages+0x1f/0x21 [btrfs]
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [810f2ff7]
__do_page_cache_readahead+0x158/0x1de
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [810f32e6]
ra_submit+0x21/0x25
Jul 12 15:44:13 x86-002 kernel: [ 1294.230443]  [810f34d8]

Re: Lockdep warning in btrfs_clear_lock_blocking

2011-05-17 Thread David Sterba
another lockdep warning, very similar to the previous. happened during
xfstests/224

d/

[344121.276299] =
[344121.284642] [ INFO: possible recursive locking detected ]
[344121.286331] 2.6.39-rc7-default+ #22
[344121.286331] -
[344121.286331] dd/2159 is trying to acquire lock:
[344121.286331]  ((eb-lock)-rlock){+.+...}, at: [a0198b3c] 
btrfs_try_spin_lock+0x7c/0xa0 [btrfs]
[344121.286331]
[344121.286331] but task is already holding lock:
[344121.286331]  ((eb-lock)-rlock){+.+...}, at: [a0198ab2] 
btrfs_clear_lock_blocking+0x22/0x30 [btrfs]
[344121.340024]
[344121.340024] other info that might help us debug this:
[344121.340024] 1 lock held by dd/2159:
[344121.340024]  #0:  ((eb-lock)-rlock){+.+...}, at: [a0198ab2] 
btrfs_clear_lock_blocking+0x22/0x30 [btrfs]
[344121.340024]
[344121.340024] stack backtrace:
[344121.340024] Pid: 2159, comm: dd Tainted: GW   2.6.39-rc7-default+ 
#22
[344121.340024] Call Trace:
[344121.340024]  [810d14fb] __lock_acquire+0x159b/0x1de0
[344121.340024]  [810ccc19] ? trace_hardirqs_off_caller+0x29/0xc0
[344121.340024]  [810bfd1f] ? local_clock+0x6f/0x80
[344121.340024]  [a0198a86] ? btrfs_set_lock_blocking+0x26/0x30 
[btrfs]
[344121.340024]  [810ccc19] ? trace_hardirqs_off_caller+0x29/0xc0
[344121.340024]  [810d23bf] lock_acquire+0x9f/0x130
[344121.340024]  [a0198b3c] ? btrfs_try_spin_lock+0x7c/0xa0 [btrfs]
[344121.340024]  [81e8be16] _raw_spin_lock+0x36/0x70
[344121.340024]  [a0198b3c] ? btrfs_try_spin_lock+0x7c/0xa0 [btrfs]
[344121.340024]  [a0198ab2] ? btrfs_clear_lock_blocking+0x22/0x30 
[btrfs]
[344121.340024]  [a0198b3c] btrfs_try_spin_lock+0x7c/0xa0 [btrfs]
[344121.340024]  [a0147df3] btrfs_search_slot+0x3c3/0xaa0 [btrfs]
[344121.340024]  [810cccbd] ? trace_hardirqs_off+0xd/0x10
[344121.340024]  [a015ae1d] btrfs_lookup_csum+0x6d/0x170 [btrfs]
[344121.340024]  [a015b0d3] __btrfs_lookup_bio_sums+0x1b3/0x380 
[btrfs]
[344121.340024]  [81170cc5] ? kmem_cache_alloc_trace+0xf5/0x180
[344121.340024]  [a015b314] btrfs_lookup_bio_sums_dio+0x14/0x20 
[btrfs]
[344121.340024]  [a0168e22] btrfs_submit_direct+0x202/0x640 [btrfs]
[344121.340024]  [810cccbd] ? trace_hardirqs_off+0xd/0x10
[344121.340024]  [810bfd1f] ? local_clock+0x6f/0x80
[344121.340024]  [811b3ae2] dio_bio_submit+0x72/0xc0
[344121.340024]  [811b498e] __blockdev_direct_IO+0x84e/0xb30
[344121.340024]  [a0167092] btrfs_direct_IO+0x2e2/0x430 [btrfs]
[344121.340024]  [a0169c20] ? btrfs_get_extent+0x9c0/0x9c0 [btrfs]
[344121.340024]  [a0168c20] ? uncompress_inline+0x200/0x200 [btrfs]
[344121.340024]  [810442d5] ? native_sched_clock+0x15/0x70
[344121.340024]  [8113] generic_file_aio_read+0x704/0x7a0
[344121.340024]  [81e8c3cb] ? _raw_spin_unlock+0x2b/0x40
[344121.340024]  [810442d5] ? native_sched_clock+0x15/0x70
[344121.340024]  [810cccbd] ? trace_hardirqs_off+0xd/0x10
[344121.340024]  [8117b1ba] do_sync_read+0xda/0x120
[344121.340024]  [8117b9ab] vfs_read+0xcb/0x190
[344121.340024]  [8117bac4] sys_read+0x54/0xa0
[344121.340024]  [81e94e42] system_call_fastpath+0x16/0x1b

--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html