Re: Unbreakable loop in fuse_fill_write_pages()

From: Qian Cai
Date: Tue Oct 13 2020 - 15:12:38 EST


On Tue, 2020-10-13 at 14:58 -0400, Vivek Goyal wrote:
> I am wondering if virtiofsd still alive and responding to requests? I
> see another task which is blocked on getdents() for more than 120s.
>
> [10580.142571][ T348] INFO: task trinity-c36:254165 blocked for more than 123
> +seconds.
> [10580.143924][ T348] Tainted: G O 5.9.0-next-20201013+ #2
> [10580.145158][ T348] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> +disables this message.
> [10580.146636][ T348] task:trinity-c36 state:D stack:26704 pid:254165
> ppid:
> +87180 flags:0x00000004
> [10580.148260][ T348] Call Trace:
> [10580.148789][ T348] __schedule+0x71d/0x1b50
> [10580.149532][ T348] ? __sched_text_start+0x8/0x8
> [10580.150343][ T348] schedule+0xbf/0x270
> [10580.151044][ T348] schedule_preempt_disabled+0xc/0x20
> [10580.152006][ T348] __mutex_lock+0x9f1/0x1360
> [10580.152777][ T348] ? __fdget_pos+0x9c/0xb0
> [10580.153484][ T348] ? mutex_lock_io_nested+0x1240/0x1240
> [10580.154432][ T348] ? find_held_lock+0x33/0x1c0
> [10580.155220][ T348] ? __fdget_pos+0x9c/0xb0
> [10580.155934][ T348] __fdget_pos+0x9c/0xb0
> [10580.156660][ T348] __x64_sys_getdents+0xff/0x230
>
> May be virtiofsd crashed and hence no requests are completing leading
> to a hard lockup?
No, it was not crashed. After I had to forcibly close the guest, the virtiofsd
daemon will exit normally. However, I can't tell exactly if the virtiofsd daemon
was still functioning normally. I'll enable the debug and retry to see if there
is anything interesting.