Messages in this thread | | | From | Haotian Li <> | Subject | [Question] How to deal D state on request_wait_answer? | Date | Tue, 17 Nov 2020 17:01:25 +0800 |
| |
Hi We recently detected a bug in virtiofs. Here, we created a virtual machine as guest with Qemu and virtiofsd. We mounted virtiofs on guest, for example /home/virtiofs. Then we killed the virtiofsd in host and accessed /home/virtiofs in guest later. This casued a process with D state which could not be killed. The stack of the process as following: wait_event_interruptible [<0>] request_wait_answer+0x9d/0x210 [fuse] [<0>] __fuse_request_send+0x75/0x80 [fuse] [<0>] fuse_simple_request+0x164/0x270 [fuse] [<0>] fuse_do_getattr+0xd5/0x2a0 [fuse] [<0>] vfs_statx+0x89/0xe0 [<0>] __do_sys_newstat+0x39/0x70 [<0>] do_syscall_64+0x55/0x1c0 [<0>] entry_SYSCALL_64_after_hwframe+0x44/0xa9 We have no idea to deal with the bug. Here, we have some question about that: 1. Why not use timeout mechanism? 2. If timeout mechanism is used, the process will enter wait_event after wait_event_interruptible_timeout?
| |