Acontece que o disco era originalmente parte de um ataque.
Como outros discos, que ainda fazem parte desse ataque, são montados, o btrfs fica confuso, pensando que o disco já está montado, porque é o raid.
Eu tenho um disco rígido antigo que quero verificar o conteúdo de. Eu acho que pode ter sido parte de uma configuração do BTRFS raid1, agora substituída por uma unidade maior.
Quando eu conecto com um adaptador USB, recebo:
usb 7-2: new high-speed USB device number 27 using xhci_hcd
usb 7-2: New USB device found, idVendor=13fd, idProduct=0840
usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 7-2: Product: External
usb 7-2: Manufacturer: Generic
usb 7-2: SerialNumber: 57442D5743414E5532323536
usb-storage 7-2:1.0: USB Mass Storage device detected
scsi host16: usb-storage 7-2:1.0
checking bus 7, device 27: "/sys/devices/pci0000:00/0000:00:15.2/0000:05:00.0/usb7/7-2"
bus: 7, device: 27 was not an MTP device
scsi 16:0:0:0: Direct-Access Generic External 1.14 PQ: 0 ANSI: 4
sd 16:0:0:0: Attached scsi generic sg5 type 0
sd 16:0:0:0: [sdf] 976773167 512-byte logical blocks: (500 GB/465 GiB)
sd 16:0:0:0: [sdf] Write Protect is off
sd 16:0:0:0: [sdf] Mode Sense: 23 00 00 00
sd 16:0:0:0: [sdf] No Caching mode page found
sd 16:0:0:0: [sdf] Assuming drive cache: write through
sd 16:0:0:0: [sdf] Attached SCSI disk
e
fdisk -l
Disk /dev/sdf: 465,8 GiB, 500107861504 bytes, 976773167 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Até aí tudo bem. A falta de partições aqui é o que me faz pensar que era parte de um ataque btrfs.
Agora o problema começa:
# btrfs device scan
Scanning for Btrfs filesystems
ERROR: device scan failed '/dev/sdf' - Device or resource busy
ERROR: error -16 while registering
Eu não posso descobrir o que significa -16. Nem o google, nem um grep através dos arquivos de código-fonte do btrfs me encontram qualquer dica.
Vamos tentar montá-lo:
# mount -o degraded /dev/sdf btrfs_test/
mount: /dev/sdf is already mounted or /tmp/btrfs_test busy
Isso é estranho, onde é montado então?
# mount | grep sdf
# lsof | grep sdf
# lsof | grep btrfs_test
# fuser -vm /dev/sdf
# grep /tmp/btrfs_test /proc/mounts
# findmnt | grep sdf
# ls -l /sys/block/sdf/holders/
total 0
Nenhuma saída em todos os comandos, espere a contagem 0 de ls.
Acontece que o disco era originalmente parte de um ataque.
Como outros discos, que ainda fazem parte desse ataque, são montados, o btrfs fica confuso, pensando que o disco já está montado, porque é o raid.
Tags btrfs