umount -l: o kernel está se referindo ao dispositivo removido, inexistente

0

Estou recebendo mensagens como:

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

Na realidade, o USB HDD sdb foi removido: lsblk também não faz menção a sdb .

Eu executei umount -l em todos os sistemas de arquivos montados até obter umount: /media/XXX: not mounted .

Estou recebendo erros no sistema de arquivos: sdb1 é NTFS contendo um sistema de arquivos de loopback btrfs. (Eu fiz umount -l no sistema de arquivos de loopback antes do sistema de arquivos contendo)

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   

O que também é estranho é que o nome do arquivo de loopback está incorreto. Na verdade, era /media/2TB/Backup/svelte-backup.btrfs , mas aparecendo como:

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

Eu não posso remover este dispositivo de loop, mesmo que losetup -d exits 0 .

O único trabalho que sei é reiniciar.

Existe uma maneira de dizer ao kernel para esquecer sdb ? Está afetando o btrfs porque acredito que o kernel está insatisfeito em ter o mesmo sistema de arquivos UUID "montado" duas vezes.

    
por Tom Hale 11.07.2017 / 06:52

1 resposta

1

Eu levantei a questão losetup -d sai 0 quando não obtém êxito # 484 .

Parece que a desmontagem não foi concluída devido a um processo com o diretório de trabalho no antigo ponto de montagem do FS.

Umount -l preguiçoso é perigoso .

    
por 11.07.2017 / 08:18