* Lockdep warning at device replace finishing
@ 2016-03-25 0:46 Yauhen Kharuzhy
0 siblings, 0 replies; only message in thread
From: Yauhen Kharuzhy @ 2016-03-25 0:46 UTC (permalink / raw)
To: linux-btrfs
Hi.
Can anybody point me to possible cause of this lockdep warning and say
if it is dangerous in reality?
It appeared when I started replacing from the missing drive ('btrfs replace
start <devid> <newdev> <mountpoint>). My locking-fu seems to be too weak
to resolve this by myself.
I use 4.4.5 kernel with Anand's global hotspare patches applied plus
patch 'Btrfs: fix lockdep deadlock warning due to dev_replace' was
applied also. This is reproduced rarely, so I cannot check this for sure
with latest kernels.
[ 1231.862717] BTRFS info (device sdf): dev_replace from /dev/sdf (devid 4) to /dev/sdh finished
[ 1231.881938]
[ 1231.888624] ======================================================
[ 1231.943857] [ INFO: possible circular locking dependency detected ]
[ 1231.953686] 4.4.5-scst31x+ #16 Not tainted
[ 1231.954755] -------------------------------------------------------
[ 1232.031044] btrfs/4453 is trying to acquire lock:
[ 1232.031966] (sb_writers){.+.+.+}, at: [<ffffffff8121dd47>] __sb_start_write+0xb7/0xf0
[ 1232.033945]
[ 1232.033945] but task is already holding lock:
[ 1232.035238] (&fs_info->chunk_mutex){+.+.+.}, at: [<ffffffffa01fcdc1>] btrfs_dev_replace_finishing+0x121/0x9b0 [btrfs]
[ 1232.037577]
[ 1232.037577] which lock already depends on the new lock.
[ 1232.037577]
[ 1232.039352]
[ 1232.039352] the existing dependency chain (in reverse order) is:
[ 1232.040817]
-> #4 (&fs_info->chunk_mutex){+.+.+.}:
[ 1232.042429] [<ffffffff810da3ae>] lock_acquire+0xce/0x1e0
[ 1232.090783] [<ffffffff8162fe79>] mutex_lock_nested+0x69/0x3c0
[ 1232.093226] [<ffffffffa01fcdc1>] btrfs_dev_replace_finishing+0x121/0x9b0 [btrfs]
[ 1232.094913] [<ffffffffa01fd9e0>] btrfs_dev_replace_start+0x390/0x560 [btrfs]
[ 1232.096798] [<ffffffffa01c40ac>] btrfs_ioctl+0x1e4c/0x2c00 [btrfs]
[ 1232.098396] [<ffffffff8122f732>] do_vfs_ioctl+0x2e2/0x530
[ 1232.099596] [<ffffffff8122f9f9>] SyS_ioctl+0x79/0x90
[ 1232.100725] [<ffffffff81633eb6>] entry_SYSCALL_64_fastpath+0x16/0x7a
[ 1232.102031]
-> #3 (&fs_devs->device_list_mutex){+.+.+.}:
[ 1232.103721] [<ffffffff810da3ae>] lock_acquire+0xce/0x1e0
[ 1232.104888] [<ffffffff8162fe79>] mutex_lock_nested+0x69/0x3c0
[ 1232.106106] [<ffffffffa0151bf6>] btrfs_show_devname+0x36/0x210 [btrfs]
[ 1232.107444] [<ffffffff812638c9>] show_vfsmnt+0x49/0x150
[ 1232.108603] [<ffffffff8123d357>] m_show+0x17/0x20
[ 1232.109696] [<ffffffff812430b8>] seq_read+0x2d8/0x3b0
[ 1232.111160] [<ffffffff8121a778>] __vfs_read+0x28/0xd0
[ 1232.113660] [<ffffffff8121b056>] vfs_read+0x86/0x130
[ 1232.115847] [<ffffffff8121bd19>] SyS_read+0x49/0xa0
[ 1232.116963] [<ffffffff81633eb6>] entry_SYSCALL_64_fastpath+0x16/0x7a
[ 1232.118268]
-> #2 (namespace_sem){+++++.}:
[ 1232.119795] [<ffffffff810da3ae>] lock_acquire+0xce/0x1e0
[ 1232.125023] [<ffffffff816316c9>] down_write+0x49/0x80
[ 1232.150746] [<ffffffff8123fde3>] lock_mount+0x43/0x1c0
[ 1232.151914] [<ffffffff81240463>] do_add_mount+0x23/0xd0
[ 1232.157188] [<ffffffff8124134b>] do_mount+0x27b/0xe30
[ 1232.158416] [<ffffffff8124222c>] SyS_mount+0x8c/0xd0
[ 1232.159622] [<ffffffff81633eb6>] entry_SYSCALL_64_fastpath+0x16/0x7a
[ 1232.189142]
-> #1 (&sb->s_type->i_mutex_key#5){+.+.+.}:
[ 1232.192923] [<ffffffff810da3ae>] lock_acquire+0xce/0x1e0
[ 1232.211173] [<ffffffff8162fe79>] mutex_lock_nested+0x69/0x3c0
[ 1232.223543] [<ffffffff81229e58>] path_openat+0x468/0x1360
[ 1232.237187] [<ffffffff8122c0be>] do_filp_open+0x7e/0xe0
[ 1232.239007] [<ffffffff8121a2cb>] do_sys_open+0x12b/0x210
[ 1232.241578] [<ffffffff8121a3ce>] SyS_open+0x1e/0x20
[ 1232.242711] [<ffffffff81633eb6>] entry_SYSCALL_64_fastpath+0x16/0x7a
[ 1232.244018]
-> #0 (sb_writers){.+.+.+}:
[ 1232.245504] [<ffffffff810d96ba>] __lock_acquire+0x17ba/0x1ae0
[ 1232.246742] [<ffffffff810da3ae>] lock_acquire+0xce/0x1e0
[ 1232.247934] [<ffffffff810d3adf>] percpu_down_read+0x4f/0xa0
[ 1232.260955] [<ffffffff8121dd47>] __sb_start_write+0xb7/0xf0
[ 1232.262264] [<ffffffff8123f704>] mnt_want_write+0x24/0x50
[ 1232.263460] [<ffffffff8122a722>] path_openat+0xd32/0x1360
[ 1232.264644] [<ffffffff8122c0be>] do_filp_open+0x7e/0xe0
[ 1232.267248] [<ffffffff8121a0f4>] file_open_name+0xe4/0x130
[ 1232.268454] [<ffffffff8121a173>] filp_open+0x33/0x60
[ 1232.269584] [<ffffffffa01adc46>] update_dev_time+0x16/0x40 [btrfs]
[ 1232.314209] [<ffffffffa01b8abe>] btrfs_scratch_superblocks+0x4e/0x90 [btrfs]
[ 1232.315874] [<ffffffffa01b8ba2>] btrfs_rm_dev_replace_remove_srcdev+0xa2/0xc0 [btrfs]
[ 1232.317610] [<ffffffffa01fd130>] btrfs_dev_replace_finishing+0x490/0x9b0 [btrfs]
[ 1232.319291] [<ffffffffa01fd9e0>] btrfs_dev_replace_start+0x390/0x560 [btrfs]
[ 1232.325306] [<ffffffffa01c40ac>] btrfs_ioctl+0x1e4c/0x2c00 [btrfs]
[ 1232.326612] [<ffffffff8122f732>] do_vfs_ioctl+0x2e2/0x530
[ 1232.327808] [<ffffffff8122f9f9>] SyS_ioctl+0x79/0x90
[ 1232.328935] [<ffffffff81633eb6>] entry_SYSCALL_64_fastpath+0x16/0x7a
[ 1232.330243]
[ 1232.330243] other info that might help us debug this:
[ 1232.330243]
[ 1232.414976] Chain exists of:
sb_writers --> &fs_devs->device_list_mutex --> &fs_info->chunk_mutex
[ 1232.417570] Possible unsafe locking scenario:
[ 1232.417570]
[ 1232.423489] CPU0 CPU1
[ 1232.424379] ---- ----
[ 1232.425273] lock(&fs_info->chunk_mutex);
[ 1232.426341] lock(&fs_devs->device_list_mutex);
[ 1232.427786] lock(&fs_info->chunk_mutex);
[ 1232.429158] lock(sb_writers);
[ 1232.430097]
[ 1232.430097] *** DEADLOCK ***
[ 1232.430097]
[ 1232.466399] 4 locks held by btrfs/4453:
[ 1232.467217] #0: (&fs_info->dev_replace.lock_finishing_cancel_unmount){+.+.+.}, at: [<ffffffffa01fcce1>] btrfs_dev_replace_finishing+0x41/0x9b0 [btrfs]
[ 1232.470045] #1: (uuid_mutex){+.+.+.}, at: [<ffffffffa01fcd93>] btrfs_dev_replace_finishing+0xf3/0x9b0 [btrfs]
[ 1232.521358] #2: (&fs_devs->device_list_mutex){+.+.+.}, at: [<ffffffffa01fcdac>] btrfs_dev_replace_finishing+0x10c/0x9b0 [btrfs]
[ 1232.523967] #3: (&fs_info->chunk_mutex){+.+.+.}, at: [<ffffffffa01fcdc1>] btrfs_dev_replace_finishing+0x121/0x9b0 [btrfs]
[ 1232.526488]
[ 1232.526488] stack backtrace:
[ 1232.527578] CPU: 1 PID: 4453 Comm: btrfs Not tainted 4.4.5-scst31x+ #16
[ 1232.528722] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
[ 1232.530296] 0000000000000000 ffff880062583800 ffffffff8134f233 ffffffff82614ca0
[ 1232.583206] ffffffff826403e0 ffff880062583840 ffffffff810d656c ffff8800625838b0
[ 1232.585123] ffff88006335acc0 ffff88006335ace8 0000000000000003 0000000000000004
[ 1232.672030] Call Trace:
[ 1232.672679] [<ffffffff8134f233>] dump_stack+0x85/0xc2
[ 1232.673658] [<ffffffff810d656c>] print_circular_bug+0x1ec/0x260
[ 1232.674880] [<ffffffff810d96ba>] __lock_acquire+0x17ba/0x1ae0
[ 1232.676073] [<ffffffff810f5e7d>] ? debug_lockdep_rcu_enabled+0x1d/0x20
[ 1232.677371] [<ffffffff810dbf71>] ? __raw_callee_save___pv_queued_spin_unlock+0x11/0x20
[ 1232.679149] [<ffffffff810da3ae>] lock_acquire+0xce/0x1e0
[ 1232.680301] [<ffffffff8121dd47>] ? __sb_start_write+0xb7/0xf0
[ 1232.681503] [<ffffffff810d3adf>] percpu_down_read+0x4f/0xa0
[ 1232.682680] [<ffffffff8121dd47>] ? __sb_start_write+0xb7/0xf0
[ 1232.683885] [<ffffffff8121dd47>] __sb_start_write+0xb7/0xf0
[ 1232.685056] [<ffffffff8123f704>] mnt_want_write+0x24/0x50
[ 1232.686202] [<ffffffff8122a722>] path_openat+0xd32/0x1360
[ 1232.687342] [<ffffffff8136ed54>] ? debug_check_no_obj_freed+0x214/0x230
[ 1232.688643] [<ffffffff8122c0be>] do_filp_open+0x7e/0xe0
[ 1232.689744] [<ffffffff810f5f6d>] ? rcu_read_lock_sched_held+0x6d/0x80
[ 1232.691622] [<ffffffff811ff07a>] ? kmem_cache_alloc+0x18a/0x2c0
[ 1232.766936] [<ffffffff8121a0f4>] file_open_name+0xe4/0x130
[ 1232.767963] [<ffffffff8121a173>] filp_open+0x33/0x60
[ 1232.775605] [<ffffffffa01adc46>] update_dev_time+0x16/0x40 [btrfs]
[ 1232.779776] [<ffffffffa01b8abe>] btrfs_scratch_superblocks+0x4e/0x90 [btrfs]
[ 1232.801170] [<ffffffffa01b8ba2>] btrfs_rm_dev_replace_remove_srcdev+0xa2/0xc0 [btrfs]
[ 1232.830890] [<ffffffffa01fd130>] btrfs_dev_replace_finishing+0x490/0x9b0 [btrfs]
[ 1232.832386] [<ffffffffa01fce9c>] ? btrfs_dev_replace_finishing+0x1fc/0x9b0 [btrfs]
[ 1232.833894] [<ffffffffa01fd9e0>] btrfs_dev_replace_start+0x390/0x560 [btrfs]
[ 1232.835129] [<ffffffffa01c40ac>] btrfs_ioctl+0x1e4c/0x2c00 [btrfs]
[ 1232.836244] [<ffffffff810dbf71>] ? __raw_callee_save___pv_queued_spin_unlock+0x11/0x20
[ 1232.840742] [<ffffffff811d3fb6>] ? handle_mm_fault+0xd76/0x1ac0
[ 1232.841817] [<ffffffff810dd720>] ? do_raw_spin_unlock+0x50/0xc0
[ 1232.842917] [<ffffffff81633567>] ? _raw_spin_unlock+0x27/0x40
[ 1232.843968] [<ffffffff811d3fb6>] ? handle_mm_fault+0xd76/0x1ac0
[ 1232.845040] [<ffffffff810f5e7d>] ? debug_lockdep_rcu_enabled+0x1d/0x20
[ 1232.846196] [<ffffffff8122f732>] do_vfs_ioctl+0x2e2/0x530
[ 1232.847207] [<ffffffff810d384f>] ? up_read+0x1f/0x40
[ 1232.848156] [<ffffffff810f5e7d>] ? debug_lockdep_rcu_enabled+0x1d/0x20
[ 1232.870945] [<ffffffff8123b756>] ? __fget_light+0x66/0x90
[ 1232.877419] [<ffffffff8122f9f9>] SyS_ioctl+0x79/0x90
[ 1232.878386] [<ffffffff81633eb6>] entry_SYSCALL_64_fastpath+0x16/0x7a
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2016-03-25 0:46 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-25 0:46 Lockdep warning at device replace finishing Yauhen Kharuzhy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).