Hello,
I have some troubles with my Adapdec AAC-1210SA; Configuration: Adaptec AAC-1210SA SATA controller, 2 HDD Seagate Barracuda 7 120G (ST3120827AS) Fedora Core 3, kernel 2.6.11.7 without any patches
During about month all works fine, but now I created Software RAID1: md0 (sd[ab]1) - /boot, md1 (sd[ab]2) - /
When I ran mkadm /dev/md1 --fail /dev/sda3 mkadm /dev/md1 --remove /dev/sda3 all was ok, but after mkadm /dev/md1 --add /dev/sda3 (when /dev/sda3 adding to /dev/md1 at speed ~ 50-60 Mb/sec) I got these errors: ata1: status=0x51 { DriveReady SeekComplete Error } ata1: error=0x04 { DriveStatusError } and sometimes also ata1: command 0x35 timeout, stat 0xd9 host_stat 0x1 ata1: status=0xd9 { Busy } Current sda: sense key Recovered Error ASC=86 ASCQ=42 ATA: abnormal status 0xD9 on port 0x4281A087 ATA: abnormal status 0xD9 on port 0x4281A087 ATA: abnormal status 0xD9 on port 0x4281A087 ...
But sda3 works fine, because mke2fs -j /dev/sda3 e2fsck -cv /dev/sda3 reported no bad sectors
When I remove sdb3 from md1, and after add it to md1, I have the same errors for ata2 or sdb.
I found in sata_sil.c code: /* TODO firmware versions should be added - eric */ struct sil_drivelist { const char * product; unsigned int quirk; } sil_blacklist [] = { { "ST320012AS", SIL_QUIRK_MOD15WRITE }, { "ST330013AS", SIL_QUIRK_MOD15WRITE }, { "ST340017AS", SIL_QUIRK_MOD15WRITE }, { "ST360015AS", SIL_QUIRK_MOD15WRITE }, { "ST380013AS", SIL_QUIRK_MOD15WRITE }, { "ST380023AS", SIL_QUIRK_MOD15WRITE }, { "ST3120023AS", SIL_QUIRK_MOD15WRITE }, { "ST3160023AS", SIL_QUIRK_MOD15WRITE }, { "ST3120026AS", SIL_QUIRK_MOD15WRITE }, { "ST3200822AS", SIL_QUIRK_MOD15WRITE }, { "ST340014ASL", SIL_QUIRK_MOD15WRITE }, { "ST360014ASL", SIL_QUIRK_MOD15WRITE }, { "ST380011ASL", SIL_QUIRK_MOD15WRITE }, { "ST3120022ASL", SIL_QUIRK_MOD15WRITE }, { "ST3160021ASL", SIL_QUIRK_MOD15WRITE }, { "Maxtor 4D060H3", SIL_QUIRK_UDMA5MAX }, { } }; I added my ST3120827AS as { "ST3120827AS", SIL_QUIRK_MOD15WRITE }, rebuilt kernel and made reboot.
With new kernel raid1 reconstruction works at speed ~ 15-20 Mb/sec with load average ~2, but without errors. May be ST3120827AS must be blacklisted too?
Also I found this code in siimage.c (old driver for AAC-1210SA): static int is_dev_seagate_sata(ide_drive_t *drive) { const char *s = &drive->id->model[0]; unsigned len;
if (!drive->present) return 0;
len = strnlen(s, sizeof(drive->id->model));
if ((len > 4) && (!memcmp(s, "ST", 2))) { if ((!memcmp(s + len - 2, "AS", 2)) || (!memcmp(s + len - 3, "ASL", 3))) { printk(KERN_INFO "%s: applying pessimistic Seagate " "errata fix\n", drive->name); return 1; } } return 0; } May be all Seagate SATA hard drives must be blacklisted in sata_sil.c ?
-- Roman Shishnev, Active.BY support ---------------------------------- http://www.active.by/ phone +375(29)7785132, ICQ: 372800
- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html