Blk_update_request: I/O error, dev sda; XFS (dm-0): metadata I/O error

Is there a way around this? When I run the Dell diagnostics, it comes back without errors. This is a EFI partition, can I just recreate it?

Jul 20 14:46:06 jmh302-10 kernel: ata1.00: failed command: READ FPDMA QUEUED
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: cmd 60/20:18:00:5a:3d/00:00:27:00:00/40 tag 3 ncq dma 16384 in
                                           res 41/40:20:18:5a:3d/00:00:27:00:00/40 Emask 0x409 (media error) <F>
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: status: { DRDY ERR }
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: error: { UNC }
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: failed command: READ FPDMA QUEUED
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: cmd 60/20:88:a0:45:41/00:00:27:00:00/40 tag 17 ncq dma 16384 in
                                           res 41/40:88:18:5a:3d/00:00:27:00:00/40 Emask 0x9 (media error)
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: status: { DRDY ERR }
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: error: { UNC }
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: configured for UDMA/100
Jul 20 14:46:06 jmh302-10 kernel: sd 0:0:0:0: [sda] tag#3 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=4s
Jul 20 14:46:06 jmh302-10 kernel: sd 0:0:0:0: [sda] tag#3 Sense Key : Medium Error [current] 
Jul 20 14:46:06 jmh302-10 kernel: sd 0:0:0:0: [sda] tag#3 Add. Sense: Unrecovered read error - auto reallocate failed
Jul 20 14:46:06 jmh302-10 kernel: sd 0:0:0:0: [sda] tag#3 CDB: Read(10) 28 00 27 3d 5a 00 00 00 20 00
Jul 20 14:46:06 jmh302-10 kernel: blk_update_request: I/O error, dev sda, sector 658332184 op 0x0:(READ) flags 0x1000 phys_seg 1 prio class 0
Jul 20 14:46:06 jmh302-10 kernel: sd 0:0:0:0: [sda] tag#17 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=1s
Jul 20 14:46:06 jmh302-10 kernel: sd 0:0:0:0: [sda] tag#17 Sense Key : Medium Error [current] 
Jul 20 14:46:06 jmh302-10 kernel: sd 0:0:0:0: [sda] tag#17 Add. Sense: Unrecovered read error - auto reallocate failed
Jul 20 14:46:06 jmh302-10 kernel: sd 0:0:0:0: [sda] tag#17 CDB: Read(10) 28 00 27 41 45 a0 00 00 20 00
Jul 20 14:46:06 jmh302-10 kernel: blk_update_request: I/O error, dev sda, sector 658589088 op 0x0:(READ) flags 0x1000 phys_seg 4 prio class 0
Jul 20 14:46:06 jmh302-10 kernel: ata1: EH complete
Jul 20 14:46:06 jmh302-10 kernel: XFS (dm-0): metadata I/O error in "xfs_imap_to_bp+0x51/0x90 [xfs]" at daddr 0x6691a00 len 32 error 5
Jul 20 14:46:06 jmh302-10 kernel: XFS (dm-0): metadata I/O error in "xfs_imap_to_bp+0x51/0x90 [xfs]" at daddr 0x66d05a0 len 32 error 5
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: exception Emask 0x0 SAct 0x204000 SErr 0x0 action 0x0
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: irq_stat 0x40000008
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: failed command: READ FPDMA QUEUED
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: cmd 60/20:70:00:5a:3d/00:00:27:00:00/40 tag 14 ncq dma 16384 in
                                           res 41/40:20:18:5a:3d/00:00:27:00:00/40 Emask 0x409 (media error) <F>
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: status: { DRDY ERR }
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: error: { UNC }
Jul 20 14:46:06 jmh302-10 kernel: ata1.00: configured for UDMA/100
Jul 20 14:46:06 jmh302-10 kernel: sd 0:0:0:0: [sda] tag#14 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=2s
Jul 20 14:46:06 jmh302-10 kernel: sd 0:0:0:0: [sda] tag#14 Sense Key : Medium Error [current] 
Jul 20 14:46:06 jmh302-10 kernel: sd 0:0:0:0: [sda] tag#14 Add. Sense: Unrecovered read error - auto reallocate failed
Jul 20 14:46:06 jmh302-10 kernel: sd 0:0:0:0: [sda] tag#14 CDB: Read(10) 28 00 27 3d 5a 00 00 00 20 00
Jul 20 14:46:06 jmh302-10 kernel: blk_update_request: I/O error, dev sda, sector 658332184 op 0x0:(READ) flags 0x1000 phys_seg 1 prio class 0
Jul 20 14:46:06 jmh302-10 kernel: ata1: EH complete
Jul 20 14:46:06 jmh302-10 kernel: XFS (dm-0): metadata I/O error in "xfs_imap_to_bp+0x51/0x90 [xfs]" at daddr 0x6691a00 len 32 error 5
Jul 20 14:46:06 jmh302-10 systemd[1]: Relabelled /dev, /dev/shm, /run, /sys/fs/cgroup in 57.746ms.
Jul 20 14:46:06 jmh302-10 systemd[1]: systemd v246.14-1.fc33 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
Jul 20 14:46:06 jmh302-10 systemd[1]: Detected architecture x86-64.

Running badblocks -v showed:

> 279009640
> 279009641
> 279009642
> 279009643
> 279009732
> 279009733
> 279009734
> 279009735

In your situation, I will try to force the drive to reallocate the bad sectors - which normally it will happen by the drive firmware automatically when those sectors are being overwritten.

https://www.smartmontools.org/wiki/BadBlockHowto

1 Like

So do I use a rescue disk, and mount the root file system to get access to smartmon? Or use xfs_repair?

If your system can boot, and the problematic device can be accessed, then I will use the installed system.

I am not familiar with XFS. In general, file system level tools are designed to fix logical errors - that physical errors need to use low level tools to fix. Smartmontools or hdparm can be used to trigger the drive firmware to reallocate bad sectors.

The link in my previous post is about using smartmontools.

1 Like