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