umount -l:内核指的是已删除的、不存在的设备

umount -l:内核指的是已删除的、不存在的设备

我收到以下消息:

kernel: Buffer I/O error on dev sdb1, logical block 107390598, async page read

事实上,USB HDDsdb已被移除:lsblk也显示没有提及sdb

umount -l在所有已安装的文件系统上执行,直到获得umount: /media/XXX: not mounted.

我收到文件系统错误:sdb1NTFS 是否包含环回 btrfs 文件系统。 (我umount -l在包含文件系统之前对环回文件系统进行了操作)

Jul 11 11:14:13 svelte ntfs-3g[2744]: ntfs_attr_pread_i: ntfs_pread failed: Input/output error                                                                                 
Jul 11 11:14:13 svelte ntfs-3g[2744]: Failed to read vcn 0x0: Input/output error                                                 
Jul 11 11:14:13 svelte kernel: Buffer I/O error on dev sdb1, logical block 107390598, async page read                                                                                    
Jul 11 11:14:14 svelte sudo[26283]: pam_unix(sudo:session): session closed for user root                                
Jul 11 11:17:20 svelte ntfs-3g[2744]: ntfs_attr_pread_i: ntfs_pread failed: Input/output error                                      
Jul 11 11:17:20 svelte kernel: Buffer I/O error on dev sdb1, logical block 107390598, async page read                                                                   
Jul 11 11:17:20 svelte kernel: Buffer I/O error on dev sdb1, logical block 107390598, async page read                   
Jul 11 11:17:20 svelte kernel: blk_update_request: 40 callbacks suppressed                                              
Jul 11 11:17:20 svelte kernel: blk_update_request: I/O error, dev loop0, sector 420501056                                      
Jul 11 11:17:20 svelte kernel: btrfs_dev_stat_print_on_error: 40 callbacks suppressed                                               
Jul 11 11:17:20 svelte kernel: BTRFS error (device loop0): bdev /dev/loop1 errs: wr 0, rd 211, flush 0, corrupt 0, gen 0   

同样奇怪的是,环回文件的名称不正确。它实际上是/media/2TB/Backup/svelte-backup.btrfs,但显示为:

$ losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE                   DIO
/dev/loop0         0      0         1  0 /Backup/svelte-backup.btrfs   0

即使losetup -dexits ,我也无法删除此循环设备0

我知道的唯一解决方法是重新启动。

有没有办法告诉内核忘记sdb?它会影响 btrfs,因为我相信内核对相同的文件系统 UUID “挂载”两次感到不满。

答案1

我提出了这个问题 losetup -d不成功则退出 0 #484

看来卸载实际上并未完成,因为旧 FS 挂载点上有一个工作目录的进程。

懒惰的 umount -l 是危险的

相关内容