Re: possible 6.6 regression: Deadlock involving super_lock()

From: Christian Brauner
Date: Thu Mar 21 2024 - 09:35:29 EST


> Also, one writeback thread was blocked. I mention that, because I
> don't get how these these two threads could depend on each other:

Writeback holds s_umount. So writeback seems to not make progress and
blocks the mount. So right now it seems unlikely that this is related.
Any chance you can try and reproduce this with v6.7 and newer?

> # # /proc/39359/task/39359: kworker/u268:5+flush-0:58 :
> # cat /proc/39359/task/39359/stack
>
> [<0>] folio_wait_bit_common+0x135/0x350
> [<0>] write_cache_pages+0x1a0/0x3a0
> [<0>] nfs_writepages+0x12a/0x1e0 [nfs]
> [<0>] do_writepages+0xcf/0x1e0
> [<0>] __writeback_single_inode+0x46/0x3a0
> [<0>] writeback_sb_inodes+0x1f5/0x4d0
> [<0>] __writeback_inodes_wb+0x4c/0xf0
> [<0>] wb_writeback+0x1f5/0x320
> [<0>] wb_workfn+0x350/0x4f0
> [<0>] process_one_work+0x142/0x300
> [<0>] worker_thread+0x2f5/0x410
> [<0>] kthread+0xe8/0x120
> [<0>] ret_from_fork+0x34/0x50
> [<0>] ret_from_fork_asm+0x1b/0x30