ATA mkIII first official patches - please test!

Søren Schmidt sos at
Thu Feb 3 12:53:17 PST 2005

ATA-mkIII first official snapshot.

This is the much rumoured ATA update that I've been working on for some time.

It contains a number of new things, and lacks a few features of the old code.

New items include:

o       ATA is now fully newbus'd and split into modules.
         This means that on a modern system you just load "atapci and ata"
         to get the base support, and then one or more of the device
         subdrivers "atadisk atapicd atapifd atapist ataraid".
         All can be loaded/unloaded anytime, but for obvious reasons you
         dont want to unload atadisk when you have mounted filesystems.

o       The device identify part of the probe has been rewritten to fix
         the problems with odd devices the old had, and to try to remove
         so of the long delays some HW could provoke.

o       SATA devices can be hot inserted/removed and devices will be created/
         removed in /dev accordingly. NOTE only supported on controllers that
         has this feature: Promise and Silicon Image for now.

o       ATA RAID support has been rewritten and and now supports these
         metadata formats:
                 "Adaptec HostRAID"
                 "Highpoint V2 RocketRAID"
                 "Highpoint V3 RocketRAID"
                 "Intel MatrixRAID"
                 "Integrated Technology Express"
                 "LSILogic V2 MegaRAID"
                 "LSILogic V3 MegaRAID"
                 "Promise FastTrak"
                 "Silicon Image Medley"

o       The reinit code has been worked over to be much more robust.

o       The timeout code has been overhauled for races.

o       Lots of fixes for bugs found while doing the modulerization and
         reviewing the old code.

Missing features form current ATA:

o       atapi-cd no longer has support for ATAPI changers. Todays its
         much cheaper and alot faster to copy those CD images to disk
         and serve them from there. Besides they dont seem to be made
         anymore, maybe for that exact reason.

o       ATA RAID can only read metadata not write them. This means that
         arrays can be picked up from the BIOS, but they cannot be created
         from FreeBSD. This is being worked on for the final release as is
         RAID5 support for Promise/Highpoing/SiI controllers.

o       The atapi-cam author has been informed and has had early access
         to this work but so far atapicam is not supported with these
         changes. However I do have my own atacam that puts both ATA and ATAPI
         devices under CAM, but its really just academic at this point.

And then there all the things that I've happily forgotten about :)

The snapshot is available as a patch for RELENG_5 and for CURRENT, and
a common tarfile of the new ATA code.

Both patches and the tarfile is relative to /usr/src.
You might want to remove the contents of sys/dev/ata/ before unpacking
the tarfile.

No changes are needed to your config file, unless you want ATA as modules.

As usual, even if it works on all the HW I have here in the lab, thats by
far not the same as it works on YOUR system. So use glowes and safety shoes
and if it breaks I dont want the pieces, but would like to hear the nifty
details on how exactly it got that way :)




More information about the freebsd-stable mailing list