Date: Mon, 4 Feb 2002 11:23:43 -0800 (PST) From: Søren Schmidt <sos@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/ata ata-all.c ata-all.h ata-card.c ata-disk.c ata-disk.h ata-dma.c ata-isa.c ata-pci.c ata-raid.c ata-raid.h atapi-all.c atapi-all.h atapi-cd.c atapi-cd.h atapi-fd.c atapi-fd.h atapi-tape.c atapi-tape.h Message-ID: <200202041923.g14JNiS40372@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
sos 2002/02/04 11:23:43 PST Modified files: sys/dev/ata ata-all.c ata-all.h ata-card.c ata-disk.c ata-disk.h ata-dma.c ata-isa.c ata-pci.c ata-raid.c ata-raid.h atapi-all.c atapi-all.h atapi-cd.c atapi-cd.h atapi-fd.c atapi-fd.h atapi-tape.c atapi-tape.h Log: Major update of the ATA RAID code, part 1: Overhaul of the attach/detach code and structures, there were some nasty bugs in the old implementation. This made it possible to collapse the ATA/ATAPI device control structures into one generic structure. A note here, the kernel is NOT ready for detach of active devices, it fails all over in random places, but for inactive devices it works. However for ATA RAID this works, since the RAID abstration layer insulates the buggy^H^H^H^H^H^Hfragile device subsystem from the physical disks. Proberly detect the RAID's from the BIOS, and mark critical RAID1 arrays as such, but continue if there is enough of the mirror left to do so. Properly fail arrays on a live system. For RAID0 that means return EIO, and for RAID1 it means continue on the still working part of the mirror if possible, else return EIO. If the state changes, log this to the console. Allow for Promise & Highpoint controllers/arrays to coexist on the same machine. It is not possible to distribute arrays over different makes of controllers though. If Promise SuperSwap enclosures are used, signal disk state on the status LED on the front. Misc fixes that I had lying around for various minor bugs. Sponsored by: Advanis Inc. Revision Changes Path 1.127 +560 -519 src/sys/dev/ata/ata-all.c 1.50 +58 -35 src/sys/dev/ata/ata-all.h 1.4 +6 -6 src/sys/dev/ata/ata-card.c 1.118 +233 -257 src/sys/dev/ata/ata-disk.c 1.37 +12 -14 src/sys/dev/ata/ata-disk.h 1.82 +322 -326 src/sys/dev/ata/ata-dma.c 1.4 +13 -13 src/sys/dev/ata/ata-isa.c 1.27 +74 -71 src/sys/dev/ata/ata-pci.c 1.22 +480 -272 src/sys/dev/ata/ata-raid.c 1.7 +118 -82 src/sys/dev/ata/ata-raid.h 1.82 +151 -171 src/sys/dev/ata/atapi-all.c 1.41 +21 -32 src/sys/dev/ata/atapi-all.h 1.107 +117 -141 src/sys/dev/ata/atapi-cd.c 1.29 +4 -4 src/sys/dev/ata/atapi-cd.h 1.68 +45 -52 src/sys/dev/ata/atapi-fd.c 1.16 +3 -3 src/sys/dev/ata/atapi-fd.h 1.62 +57 -66 src/sys/dev/ata/atapi-tape.c 1.17 +7 -7 src/sys/dev/ata/atapi-tape.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202041923.g14JNiS40372>