After upgrade 24.04 -> 26.04 SSD changes to read-only everytime. Same on 3 different SSD

Ubuntu Version

Ubuntu 26.04 LTS

Desktop Environment (if applicable)

None (server/headless)

Problem Description

Have an issue that occurred after update from 24.04 LTS → 26.02 LTS, Primary SSD was turned to read-only and complaining about I/O issues. This happend after each reboot. I got a window of ~1-2 min before this happend. So I managed to do some small configurations test each time, before I needed to reboot it again.

Have tried with 3 different SSD, all the same, so conclude that it is not the SSD.

Kernel: 7.0.0-34.34

Relevant System Information

Gigabyte Technology Co., Ltd.
Z97P-D3
BIOS-version F9b

SSD used:
1 Samsung 750 Evo 250GB 2.5" SATA-600
2 Samsung 750 Evo 250GB 2.5" SATA-600
3 Samsung SSD 750 EVO 500GB

Error Messages / Logs

Ubuntu 26.04.1 LTS
Release: 26.04
Codename: resolute
Kernel: 7.0.0-34.34

dmesg | grep -i -E 'error|read-only|fsck'
[ 4005.717910] ata1.00: irq_stat 0x28000000, host bus error, interface fatal error
[ 4005.717913] ata1: SError: { UnrecovData HostInt CommWake Handshk }
                        res 40/00:ff:00:00:00/00:00:00:00:00/00 Emask 0x70 (host bus error)
[ 4006.048878] ata1.00: irq_stat 0x28000008, host bus error, interface fatal error
[ 4006.048882] ata1: SError: { UnrecovData HostInt Handshk }
                        res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:01:06:4f:c2/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:01:00:4f:c2/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:00:00:4f:c2/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x70 (host bus error)
[ 4006.368917] ata1.00: irq_stat 0x28000000, host bus error, interface fatal error
[ 4006.368920] ata1: SError: { UnrecovData HostInt Handshk }
                        res 40/00:01:00:4f:c2/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:01:00:4f:c2/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x70 (host bus error)
[ 4006.704890] ata1.00: irq_stat 0x28000008, host bus error, interface fatal error
[ 4006.704893] ata1: SError: { UnrecovData HostInt Handshk }
                        res 40/00:00:00:4f:c2/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:01:00:4f:c2/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:01:06:4f:c2/00:00:00:00:00/00 Emask 0x70 (host bus error)
[ 4007.029935] ata1.00: irq_stat 0x28000000, host bus error, interface fatal error
[ 4007.029938] ata1: SError: { UnrecovData HostInt Handshk }
                        res 40/00:01:01:4f:c2/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x70 (host bus error)
[ 4007.368900] ata1.00: irq_stat 0x28000008, host bus error, interface fatal error
[ 4007.368903] ata1: SError: { UnrecovData HostInt Handshk }
                        res 40/00:ff:00:00:00/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x70 (host bus error)
[ 4007.680068] I/O error, dev sda, sector 469354496 op 0x1:(WRITE) flags 0x4000 phys_seg 64 prio class 2
[ 4007.680076] EXT4-fs warning (device sda1): ext4_end_bio:369: I/O error 10 writing to inode 2171084 starting block 58670336)
[ 4007.680100] EXT4-fs (sda1): failed to convert unwritten extents to written extents -- potential data loss!  (inode 2171084, error -5)
[ 4007.680108] Buffer I/O error on device sda1, logical block 58669056
[ 4007.680111] Buffer I/O error on device sda1, logical block 58669057
[ 4007.680113] Buffer I/O error on device sda1, logical block 58669058
[ 4007.680115] Buffer I/O error on device sda1, logical block 58669059
[ 4007.680118] Buffer I/O error on device sda1, logical block 58669060
[ 4007.680120] Buffer I/O error on device sda1, logical block 58669061
[ 4007.680122] Buffer I/O error on device sda1, logical block 58669062
[ 4007.680124] Buffer I/O error on device sda1, logical block 58669063
[ 4007.680126] Buffer I/O error on device sda1, logical block 58669064
[ 4007.680128] Buffer I/O error on device sda1, logical block 58669065
[ 4007.857942] ata1.00: irq_stat 0x20000000, host bus error
[ 4007.857945] ata1: SError: { HostInt }
                        res 40/00:01:00:4f:c2/00:00:00:00:00/00 Emask 0x60 (host bus error)
[ 4008.184953] ata1.00: irq_stat 0x20000008, host bus error
[ 4008.184956] ata1: SError: { HostInt }
                        res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x60 (host bus error)
                        res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x60 (host bus error)
                        res 40/00:01:06:4f:c2/00:00:00:00:00/00 Emask 0x60 (host bus error)
[ 4008.506901] ata1.00: irq_stat 0x20000000, host bus error
[ 4008.506904] ata1: SError: { HostInt }
                        res 40/00:01:00:4f:c2/00:00:00:00:00/00 Emask 0x60 (host bus error)
                        res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x60 (host bus error)
                        res 40/00:01:06:4f:c2/00:00:00:00:00/00 Emask 0x60 (host bus error)
[ 4008.832950] ata1.00: irq_stat 0x28000000, host bus error, interface fatal error
[ 4008.832953] ata1: SError: { UnrecovData HostInt Handshk }
                        res 40/00:01:00:4f:c2/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:00:00:4f:c2/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x70 (host bus error)
[ 4009.154900] ata1.00: irq_stat 0x28000000, host bus error, interface fatal error
[ 4009.154903] ata1: SError: { UnrecovData HostInt Handshk }
                        res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:01:06:4f:c2/00:00:00:00:00/00 Emask 0x70 (host bus error)
                        res 40/00:01:01:4f:c2/00:00:00:00:00/00 Emask 0x70 (host bus error)
[ 4009.481970] ata1.00: irq_stat 0x20000000, host bus error
[ 4009.481973] ata1: SError: { HostInt }
                        res 40/00:01:00:4f:c2/00:00:00:00:00/00 Emask 0x60 (host bus error)
                        res 40/00:00:00:4f:c2/00:00:00:00:00/00 Emask 0x60 (host bus error)
                        res 40/00:ff:00:00:00/00:00:00:00:00/00 Emask 0x60 (host bus error)
[ 4009.792348] I/O error, dev sda, sector 407902224 op 0x1:(WRITE) flags 0x0 phys_seg 39 prio class 2
[ 4009.792356] EXT4-fs warning (device sda1): ext4_end_bio:369: I/O error 10 writing to inode 2171085 starting block 50987778)
[ 4009.792388] EXT4-fs (sda1): failed to convert unwritten extents to written extents -- potential data loss!  (inode 2171085, error -5)
sudo journalctl -k -e
sep 30 14:02:33 Rygel kernel: ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
sep 30 14:02:33 Rygel kernel: ata2.00: supports DRM functions and may not be fully accessible
sep 30 14:02:33 Rygel kernel: ata2.00: supports DRM functions and may not be fully accessible
sep 30 14:02:33 Rygel kernel: ata2.00: configured for UDMA/33
sep 30 14:02:33 Rygel kernel: ata2: EH complete
sep 30 14:02:33 Rygel kernel: ata2.00: exception Emask 0x60 SAct 0x0 SErr 0x800 action 0x6 frozen
sep 30 14:02:33 Rygel kernel: ata2.00: irq_stat 0x20000000, host bus error
sep 30 14:02:33 Rygel kernel: ata2: SError: { HostInt }
sep 30 14:02:33 Rygel kernel: ata2.00: failed command: WRITE DMA EXT
sep 30 14:02:33 Rygel kernel: ata2.00: cmd 35/00:00:00:e8:d4/00:20:1c:00:00/e0 tag 3 dma 4194304 out
                                       res 50/00:03:00:00:00/00:00:00:00:00/a0 Emask 0x60 (host bus error)
sep 30 14:02:33 Rygel kernel: ata2.00: status: { DRDY }
sep 30 14:02:33 Rygel kernel: ata2: hard resetting link
sep 30 14:02:33 Rygel kernel: ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
sep 30 14:02:33 Rygel kernel: ata2.00: supports DRM functions and may not be fully accessible
sep 30 14:02:33 Rygel kernel: ata2.00: supports DRM functions and may not be fully accessible
sep 30 14:02:33 Rygel kernel: ata2.00: configured for UDMA/33
sep 30 14:02:33 Rygel kernel: ata2: EH complete
sep 30 14:02:33 Rygel kernel: ata2.00: exception Emask 0x70 SAct 0x0 SErr 0x400900 action 0x6 frozen
sep 30 14:02:33 Rygel kernel: ata2.00: irq_stat 0x28000000, host bus error, interface fatal error
sep 30 14:02:33 Rygel kernel: ata2: SError: { UnrecovData HostInt Handshk }
sep 30 14:02:33 Rygel kernel: ata2.00: failed command: WRITE DMA EXT
sep 30 14:02:33 Rygel kernel: ata2.00: cmd 35/00:00:00:e8:d4/00:20:1c:00:00/e0 tag 4 dma 4194304 out
                                       res 50/00:03:00:00:00/00:00:00:00:00/a0 Emask 0x70 (host bus error)
sep 30 14:02:33 Rygel kernel: ata2.00: status: { DRDY }
sep 30 14:02:33 Rygel kernel: ata2: hard resetting link
sep 30 14:02:33 Rygel kernel: ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
sep 30 14:02:33 Rygel kernel: ata2.00: supports DRM functions and may not be fully accessible
sep 30 14:02:33 Rygel kernel: ata2.00: supports DRM functions and may not be fully accessible
sep 30 14:02:33 Rygel kernel: ata2.00: configured for UDMA/33
sep 30 14:02:33 Rygel kernel: ata2: EH complete
sep 30 14:02:33 Rygel kernel: ata2.00: exception Emask 0x60 SAct 0x0 SErr 0x800 action 0x6 frozen
sep 30 14:02:33 Rygel kernel: ata2.00: irq_stat 0x20000000, host bus error
sep 30 14:02:33 Rygel kernel: ata2: SError: { HostInt }
sep 30 14:02:33 Rygel kernel: ata2.00: failed command: WRITE DMA EXT
sep 30 14:02:33 Rygel kernel: ata2.00: cmd 35/00:00:00:e8:d4/00:20:1c:00:00/e0 tag 5 dma 4194304 out
                                       res 50/00:03:00:00:00/00:00:00:00:00/a0 Emask 0x60 (host bus error)
sep 30 14:02:33 Rygel kernel: ata2.00: status: { DRDY }
sep 30 14:02:33 Rygel kernel: ata2: hard resetting link
sep 30 14:02:33 Rygel kernel: ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
sep 30 14:02:33 Rygel kernel: ata2.00: supports DRM functions and may not be fully accessible
sep 30 14:02:33 Rygel kernel: ata2.00: supports DRM functions and may not be fully accessible
sep 30 14:02:33 Rygel kernel: ata2.00: configured for UDMA/33
sep 30 14:02:33 Rygel kernel: ata2: EH complete
sep 30 14:02:33 Rygel kernel: ata2.00: exception Emask 0x70 SAct 0x0 SErr 0x400900 action 0x6 frozen
sep 30 14:02:33 Rygel kernel: ata2.00: irq_stat 0x28000000, host bus error, interface fatal error
sep 30 14:02:33 Rygel kernel: ata2: SError: { UnrecovData HostInt Handshk }
sep 30 14:02:33 Rygel kernel: ata2.00: failed command: WRITE DMA EXT
sep 30 14:02:33 Rygel kernel: ata2.00: cmd 35/00:00:00:e8:d4/00:20:1c:00:00/e0 tag 6 dma 4194304 out
                                       res 50/00:03:00:00:00/00:00:00:00:00/a0 Emask 0x70 (host bus error)
sep 30 14:02:33 Rygel kernel: ata2.00: status: { DRDY }
sep 30 14:02:33 Rygel kernel: ata2: hard resetting link
sep 30 14:02:33 Rygel kernel: ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
sep 30 14:02:33 Rygel kernel: ata2.00: supports DRM functions and may not be fully accessible
sep 30 14:02:33 Rygel kernel: ata2.00: supports DRM functions and may not be fully accessible
sep 30 14:02:33 Rygel kernel: ata2.00: configured for UDMA/33
sep 30 14:02:33 Rygel kernel: sd 1:0:0:0: [sda] tag#6 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=1s
sep 30 14:02:33 Rygel kernel: sd 1:0:0:0: [sda] tag#6 Sense Key : Aborted Command [current]
sep 30 14:02:33 Rygel kernel: sd 1:0:0:0: [sda] tag#6 Add. Sense: No additional sense information
sep 30 14:02:33 Rygel kernel: sd 1:0:0:0: [sda] tag#6 CDB: Write(10) 2a 00 1c d4 e8 00 00 20 00 00
sep 30 14:02:33 Rygel kernel: I/O error, dev sda, sector 483715072 op 0x1:(WRITE) flags 0x0 phys_seg 64 prio class 2
sep 30 14:02:33 Rygel kernel: EXT4-fs warning (device sda1): ext4_end_bio:369: I/O error 10 writing to inode 2171086 starting block 60464384)
sep 30 14:02:33 Rygel kernel: ata2: EH complete
sep 30 14:02:33 Rygel kernel: EXT4-fs (sda1): failed to convert unwritten extents to written extents -- potential data loss!  (inode 2171086, error -5)
sep 30 14:02:33 Rygel kernel: br-9b8062a4665d: port 1(veth4e14d8c) entered blocking state
sep 30 14:02:33 Rygel kernel: br-9b8062a4665d: port 1(veth4e14d8c) entered disabled state
sep 30 14:02:33 Rygel kernel: veth4e14d8c: entered allmulticast mode
sep 30 14:02:33 Rygel kernel: veth4e14d8c: entered promiscuous mode
sep 30 14:02:33 Rygel kernel: eth0: renamed from vethae603e7
sep 30 14:02:33 Rygel kernel: br-9b8062a4665d: port 1(veth4e14d8c) entered blocking state
sep 30 14:02:33 Rygel kernel: br-9b8062a4665d: port 1(veth4e14d8c) entered forwarding state
sep 30 14:02:33 Rygel kernel: br-9b8062a4665d: port 1(veth4e14d8c) entered disabled state
sep 30 14:02:33 Rygel kernel: vethae603e7: renamed from eth0
sep 30 14:02:33 Rygel kernel: br-9b8062a4665d: port 1(veth4e14d8c) entered disabled state
sep 30 14:02:33 Rygel kernel: veth4e14d8c (unregistering): left allmulticast mode
sep 30 14:02:33 Rygel kernel: veth4e14d8c (unregistering): left promiscuous mode
sep 30 14:02:33 Rygel kernel: br-9b8062a4665d: port 1(veth4e14d8c) entered disabled state

What I’ve Tried

Used fsck, but nothing was corrected (on all 3 disks)
smartctl was saying all was passed, no errors (on all 3 disks)

I switched and tried with 3 different SSD disks. No changes.
Switched SSD cable, and port on mainboard, but no changes.

Tried this in grub, but didn’t affect anything
GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash iommu=soft libata.force=noncq ahci.mobile_lpm_policy=3”

Eventually, what solves it, is to rollback to an old kernel to remove this issue.
6.8.0-142-generic (and not use 7.0.0-34.34)

After that it works like normal..Any suggestion what I can do to fix this ?

This sounds very similar to this kernel bug report 220693. You could try workaround in the comment 33 (decreasing max request size).

Check the size of the failed writes in the 7.0 kernel messages, which is the number after dma on each failed command line. If most are 4194304 or close to it, it’s likely the same large-command problem as comment 33 of that bug report, so replace libata.force=noncq with libata.force=maxsec1024 in GRUB_CMDLINE_LINUX_DEFAULT, run sudo update-grub, and boot 7.0 again. Then confirm cat /sys/block/sda/queue/max_sectors_kb shows 512. Keep 6.8.0-142 installed until 7.0 runs for several days without the disk going read-only.

Drafted with AI.