File system corruption with Seagate Barracuda 10 drives and Silicon Image 3114

Problem:

Periodic file system corruption when using Seagate Barracuda 10 drives attached to a Silicon Image 3114 controller.

Affected Models:

Solution:

Linux kernel 2.6.16 and higher provide the 'slow_down' module parameter for the Silicon Image (sata_sil) driver. This option will work around the data corruption issue. To enable the option:

  1. Append the following line to /etc/modprobe.conf
    options sata_sil slow_down=1
    
  2. Create a new initial ramdisk
    # /sbin/mkinitrd -f  /boot/initrd-`uname -r`.img `uname -r` 
    
  3. Reboot the system

To verify that the fix has been applied, run the following command:

# cat /var/log/messages | grep Seagate
Jan 19 16:10:57 asl65 kernel: ata1(0): applying Seagate errata fix
(mod15write workaround)
Jan 19 16:10:57 asl65 kernel: ata1(0): applying Seagate errata fix
(mod15write workaround)

If you see entries similiar to the lines above, that means the fix is enabled.