在 HFS 文件系统上运行 umount 会卡在 D 状态,从而阻止挂起到 RAM

在 HFS 文件系统上运行 umount 会卡在 D 状态,从而阻止挂起到 RAM

我已经从磁盘映像安装了 HFS 文件系统并继续操作umount。这样做后,umount进程进入D状态并且没有离开。文件系统已卸载,但进程仍处于D状态。

现在它处于D状态,我完全无法将系统挂起到 RAM。

解决此问题的方法要么是找到一种无论进程处于D什么状态都挂起的方法,或者找到一种使进程脱离D状态的方法。

dmesg 说:

[3157428.258176] INFO: task umount:2459 blocked for more than 120 seconds.
[3157428.258177]       Tainted: G           OE     4.19.0-16-amd64 #1 Debian 4.19.181-1
[3157428.258178] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[3157428.258179] umount          D    0  2459   2458 0x00000000
[3157428.258180] Call Trace:
[3157428.258181]  __schedule+0x29f/0x840
[3157428.258182]  ? bit_wait_timeout+0x90/0x90
[3157428.258183]  schedule+0x28/0x80
[3157428.258184]  io_schedule+0x12/0x40
[3157428.258185]  bit_wait_io+0xd/0x50
[3157428.258186]  __wait_on_bit_lock+0x5d/0xa0
[3157428.258187]  out_of_line_wait_on_bit_lock+0x91/0xb0
[3157428.258189]  ? init_wait_var_entry+0x40/0x40
[3157428.258191]  hfs_mdb_commit+0x326/0x340 [hfs]
[3157428.258192]  hfs_sync_fs+0xa/0x10 [hfs]
[3157428.258195]  __sync_filesystem+0x2c/0x50
[3157428.258196]  sync_filesystem+0x2a/0x40
[3157428.258198]  generic_shutdown_super+0x22/0x100
[3157428.258199]  kill_block_super+0x21/0x50
[3157428.258201]  deactivate_locked_super+0x2f/0x70
[3157428.258203]  cleanup_mnt+0x3f/0x70
[3157428.258205]  task_work_run+0x8a/0xb0
[3157428.258208]  exit_to_usermode_loop+0xeb/0xf0
[3157428.258210]  do_syscall_64+0x10d/0x110
[3157428.258211]  entry_SYSCALL_64_after_hwframe+0x44/0xa9

相关内容