* 4.14: ext4 circular locking dependency complaint
@ 2017-11-02 16:59 Bart Van Assche
0 siblings, 0 replies; only message in thread
From: Bart Van Assche @ 2017-11-02 16:59 UTC (permalink / raw)
To: linux-ext4
Hello,
While testing kernel v4.14-rc7 I encountered the lockedp complaint shown
below. Is this a known issue?
Thanks,
Bart.
======================================================
WARNING: possible circular locking dependency detected
4.14.0-rc7-dbg+ #3 Tainted: G W
------------------------------------------------------
kworker/16:0/20194 is trying to acquire lock:
(&sb->s_type->i_mutex_key#14){+.+.}, at: [<ffffffff812556a9>] __generic_file_fsync+0x49/0xc0
but task is already holding lock:
((&dio->complete_work)){+.+.}, at: [<ffffffff81083b85>] process_one_work+0x195/0x660
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #2 ((&dio->complete_work)){+.+.}:
lock_acquire+0x95/0x1f0
process_one_work+0x1e7/0x660
worker_thread+0x3d/0x3b0
kthread+0x13a/0x150
ret_from_fork+0x27/0x40
-> #1 ("dio/%s"sb->s_id){+.+.}:
lock_acquire+0x95/0x1f0
flush_workqueue+0x98/0x500
drain_workqueue+0xb0/0x190
destroy_workqueue+0x18/0x260
sb_init_dio_done_wq+0x54/0x60
do_blockdev_direct_IO+0x1c85/0x2f60
__blockdev_direct_IO+0x2e/0x30
ext4_direct_IO+0x2e9/0x7b0 [ext4]
generic_file_direct_write+0xa3/0x160
__generic_file_write_iter+0xbe/0x1d0
ext4_file_write_iter+0x1dd/0x3d0 [ext4]
aio_write+0xf0/0x170
do_io_submit+0x707/0x9b0
SyS_io_submit+0x10/0x20
entry_SYSCALL_64_fastpath+0x18/0xad
-> #0 (&sb->s_type->i_mutex_key#14){+.+.}:
__lock_acquire+0x1248/0x1320
lock_acquire+0x95/0x1f0
down_write+0x3b/0x70
__generic_file_fsync+0x49/0xc0
ext4_sync_file+0x2ac/0x580 [ext4]
vfs_fsync_range+0x4b/0xb0
dio_complete+0x214/0x230
dio_aio_complete_work+0x1c/0x20
process_one_work+0x20a/0x660
worker_thread+0x3d/0x3b0
kthread+0x13a/0x150
ret_from_fork+0x27/0x40
other info that might help us debug this:
Chain exists of:
&sb->s_type->i_mutex_key#14 --> "dio/%s"sb->s_id --> (&dio->complete_work)
Possible unsafe locking scenario:
CPU0 CPU1
---- ----
lock((&dio->complete_work));
lock("dio/%s"sb->s_id);
lock((&dio->complete_work));
lock(&sb->s_type->i_mutex_key#14);
*** DEADLOCK ***
2 locks held by kworker/16:0/20194:
#0: ("dio/%s"sb->s_id){+.+.}, at: [<ffffffff81083b85>] process_one_work+0x195/0x660
#1: ((&dio->complete_work)){+.+.}, at: [<ffffffff81083b85>] process_one_work+0x195/0x660
stack backtrace:
CPU: 16 PID: 20194 Comm: kworker/16:0 Tainted: G W 4.14.0-rc7-dbg+ #3
Hardware name: Dell Inc. PowerEdge R720/0VWT90, BIOS 1.3.6 09/11/2012
Workqueue: dio/dm-0 dio_aio_complete_work
Call Trace:
dump_stack+0x70/0x9e
print_circular_bug.isra.39+0x1d8/0x1e6
__lock_acquire+0x1248/0x1320
lock_acquire+0x95/0x1f0
down_write+0x3b/0x70
__generic_file_fsync+0x49/0xc0
ext4_sync_file+0x2ac/0x580 [ext4]
vfs_fsync_range+0x4b/0xb0
dio_complete+0x214/0x230
dio_aio_complete_work+0x1c/0x20
process_one_work+0x20a/0x660
worker_thread+0x3d/0x3b0
kthread+0x13a/0x150
ret_from_fork+0x27/0x40
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2017-11-02 17:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-02 16:59 4.14: ext4 circular locking dependency complaint Bart Van Assche
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.