Hi,

I'm seeing the attached lockdep splat on 4.8-rc2 - I'm guessing it got
introduced in 4.8-rc.  It appears to be very easy to trigger and shows up
within seconds after mkfs + mount.

Thanks,

                Ilya
kernel: =============================================
kernel: [ INFO: possible recursive locking detected ]
kernel: 4.8.0-rc2-ceph-00297-gab9f8d2 #1 Not tainted
kernel: ---------------------------------------------
kernel: ceph-osd/25016 is trying to acquire lock:
kernel: (&ei->log_mutex){+.+...}, at: [<ffffffffa02c4b3e>] 
btrfs_log_inode+0x17e/0xb50 [btrfs]
kernel: #012but task is already holding lock:
kernel: (&ei->log_mutex){+.+...}, at: [<ffffffffa02c4b3e>] 
btrfs_log_inode+0x17e/0xb50 [btrfs]
kernel: #012other info that might help us debug this:
kernel: Possible unsafe locking scenario:
kernel:       CPU0
kernel:       ----
kernel:  lock(&ei->log_mutex);
kernel:  lock(&ei->log_mutex);
kernel: #012 *** DEADLOCK ***
kernel: May be due to missing lock nesting notation
kernel: 6 locks held by ceph-osd/25016:
kernel: #0:  (sb_writers#15){.+.+.+}, at: [<ffffffff8127463d>] 
__sb_start_write+0xad/0xe0
kernel: #1:  (&type->i_mutex_dir_key#4/1){+.+.+.}, at: [<ffffffff8127c37e>] 
lock_rename+0x2e/0x100
kernel: #2:  (&sb->s_type->i_mutex_key#19){+.+.+.}, at: [<ffffffff8128fb5e>] 
lock_two_nondirectories+0x3e/0x70
kernel: #3:  (&sb->s_type->i_mutex_key#19/4){+.+...}, at: [<ffffffff8128fb86>] 
lock_two_nondirectories+0x66/0x70
kernel: #4:  (sb_internal#2){.+.+.+}, at: [<ffffffff8127460b>] 
__sb_start_write+0x7b/0xe0
kernel: #5:  (&ei->log_mutex){+.+...}, at: [<ffffffffa02c4b3e>] 
btrfs_log_inode+0x17e/0xb50 [btrfs]
kernel: #012stack backtrace:
kernel: CPU: 0 PID: 25016 Comm: ceph-osd Not tainted 
4.8.0-rc2-ceph-00297-gab9f8d2 #1
kernel: Hardware name: Supermicro X8SIL/X8SIL, BIOS 1.0c 02/25/2010
kernel: 0000000000000086 00000000668dbca4 ffff88042a277870 ffffffff81413e51
kernel: ffffffff828f4630 ffffffff828f4630 ffff88042a277930 ffffffff811069c0
kernel: dfc5c15000000001 ffff880400000000 4efe3813430e32cf ffff880429f38000
kernel: Call Trace:
kernel: [<ffffffff81413e51>] dump_stack+0x85/0xc4
kernel: [<ffffffff811069c0>] __lock_acquire+0xce0/0x1680
kernel: [<ffffffff81810afe>] ? mutex_unlock+0xe/0x10
kernel: [<ffffffff81107847>] lock_acquire+0x197/0x1f0
kernel: [<ffffffffa02c4b3e>] ? btrfs_log_inode+0x17e/0xb50 [btrfs]
kernel: [<ffffffff8180fae9>] mutex_lock_nested+0x79/0x370
kernel: [<ffffffffa02c4b3e>] ? btrfs_log_inode+0x17e/0xb50 [btrfs]
kernel: [<ffffffffa02c4b3e>] btrfs_log_inode+0x17e/0xb50 [btrfs]
kernel: [<ffffffff810d7a70>] ? __might_sleep+0x70/0x90
kernel: [<ffffffffa027e590>] ? btrfs_i_callback+0x20/0x20 [btrfs]
kernel: [<ffffffffa0289e18>] ? btrfs_invalidate_inodes+0x198/0x1f0 [btrfs]
kernel: [<ffffffff81813307>] ? _raw_spin_unlock+0x27/0x40
kernel: [<ffffffffa02c4ef4>] btrfs_log_inode+0x534/0xb50 [btrfs]
kernel: [<ffffffff81105918>] ? trace_hardirqs_on_caller+0x178/0x1d0
kernel: [<ffffffffa02c5e21>] btrfs_log_inode_parent+0x881/0x970 [btrfs]
kernel: [<ffffffff81813307>] ? _raw_spin_unlock+0x27/0x40
kernel: [<ffffffffa02835e7>] ? btrfs_update_inode+0xd7/0x110 [btrfs]
kernel: [<ffffffffa02c738b>] btrfs_log_new_name+0x7b/0x80 [btrfs]
kernel: [<ffffffffa028cc82>] btrfs_rename2+0xfd2/0x16c0 [btrfs]
kernel: [<ffffffff8128fb86>] ? lock_two_nondirectories+0x66/0x70
kernel: [<ffffffff81101d6f>] ? down_write_nested+0x4f/0x80
kernel: [<ffffffff8128fb86>] ? lock_two_nondirectories+0x66/0x70
kernel: [<ffffffff8127f857>] vfs_rename+0x467/0x830
kernel: [<ffffffff8127c200>] ? read_seqcount_begin+0x90/0xa0
kernel: [<ffffffff8128481e>] SyS_rename+0x1ee/0x3c0
kernel: [<ffffffff81003b4a>] do_syscall_64+0x7a/0x1c0
kernel: [<ffffffff81813c3f>] entry_SYSCALL64_slow_path+0x25/0x25

Reply via email to