summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/ata-raid.c
Commit message (Collapse)AuthorAgeFilesLines
* Use last 16 bytes of serial number in metadata instead of first ones,mav2010-03-261-2/+16
| | | | | | same as Intel MatrixRAID does. PR: kern/124064
* Mask disk_idx to avoid panic because of extra bits set.mav2010-03-121-6/+8
| | | | | PR: kern/102211 Submitted by: yoichi
* Remove extraneous semicolons, no functional changes.mbr2010-01-071-1/+1
| | | | | Submitted by: Marc Balmer <marc@msys.ch> MFC after: 1 week
* Introduce define and kernel option ATA_REQUEST_TIMEOUT to control ATA(4)mav2009-11-081-3/+3
| | | | | | command timeout. Submitted by: keramida
* Increase ATA command timeouts. Some drives need more then 5s to spin-up.mav2009-10-261-2/+2
| | | | PR: kern/111023
* Revert previous commit and add myself to the list of people who shouldphk2009-09-081-2/+1
| | | | know better than to commit with a cat in the area.
* Add necessary include.phk2009-09-081-1/+2
|
* Revert my ata_identify()/ata_reinit() related changes: r189166, r189091mav2009-02-281-8/+8
| | | | | | | | | | | | | | and partially r188903. Revert breaks new drives detection on reinit to the state as it was before me, but fixes series of new bugs reported by some people. Unconditional queueing of ata_completed() calls can lead to deadlock if due to timeout ata_reinit() was called at the same thread by previous ata_completed(). Calling of ata_identify() on ata_reinit() in current implementation opens numerous races and deadlocks. Problems I was touching here are still exist and should be addresed, but probably in different way.
* Remove direct ata_completed() call options from ata_finish(), except for themav2009-02-261-8/+8
| | | | | | | | | | kernel dumping case. ata_completed() may initiate ata_reinit() on error, that may lead to drives attach or detach. Attach and detach are sending requests to drives and sleep waiting for results. But ata_finish() can be called directly from interrupt handler where sleeping is prohibited, so we must break this chain somewhere. This place seems to fit best.
* Add basic support for DDF, often found on Adaptec HostRAID controllers.scottl2009-02-201-0/+405
| | | | | Spares and rebuilds are not supported, so this code should be considered for entertainment purposes only.
* Go back to preallocating everything possible on init.sos2008-04-171-2/+4
| | | | | This avoids calling busdma in the request processing path which caused a traumatic performance degradation. Allocation has be postponed to after we know how many devices we possible can have on portmulitpliers to save some space.
* Fix identify of slave devices.sos2008-04-131-8/+7
|
* Fix the brokenness in the former commit, sorry for the mess.sos2008-04-111-16/+19
| | | | | | | | The problem is that the PM support is part of a much larger WIP here, but due to popular demand I decided to get some of it imported. Also I forgot the mention: HW sponsored by: Vitsch Electronics / VEHosting
* Add experimental support for SATA Port Multiplierssos2008-04-101-1/+1
| | | | | | | Support is working on the Silicon Image SiI3124/3132. Support is working on some AHCI chips but far from all. Remember this is WIP, so test reports and (constructive) suggestions are welcome!
* Unbreak the last commit.sos2008-03-201-8/+9
| | | | Changes from the PM WIP sneaked in and caused compile errors.
* Fix Problem with Intel Matrix RAID.sos2008-03-201-11/+19
| | | | Fix from PR/121899.
* Expand the data structure returned by the ATA RAID status ioctl to includejhb2007-08-131-14/+22
| | | | | | | | | detailed status on each of the backing subdisks. This allows userland to see which subdisks are online, failed, missing, or a hot spare. MFC after: 1 week Approved by: re (bmah) Reviewed by: sos
* Update copyright headers.sos2007-02-211-1/+1
|
* Implement BIO_FLUSH handling for da(4), amr(4), ata(4) and ataraid(4).pjd2006-10-311-0/+69
| | | | Sponsored by: home.pl
* Properly initialize and destroy the RAID lock.sos2006-08-251-1/+4
| | | | Also dont mess with RAID's thats not attached yet and avoid panic.
* o s/PsuedoRAID/PseudoRAID/.maxim2006-04-151-1/+1
| | | | | PR: kern/94306 Submitted by: Esa Karkkainen
* Get rid of all the "long long"/"maxint" casting around in printf's.sos2006-03-091-36/+27
| | | | | On all our platforms intmax == int64_t so simply using %j to print int64_t's is safe all over, and doesn't pullute the code.
* Add r/w support for JMicron ATA RAID metadata.sos2006-02-171-0/+294
| | | | | Acknowledgement should definitly go to JMicron Technology for providing full docs on the metadata format as the only vendor so far, big thanks from here.
* Whitespace cleanup.sos2006-01-181-10/+10
|
* Add support for using DMA on dump, greatly speeds up the dump process.sos2006-01-181-2/+31
| | | | Add dump support in ataraid.
* Get rid of the advertising clause in the copyright.sos2006-01-051-3/+1
|
* Fix rebuilds of arrays that got stuck.sos2005-12-271-3/+11
| | | | | | Misc minor fixes. Bughunting and initial fixes by Pav@ and Anton.
* Make this compile on 64bit systems. It likely isn't correct, but that canscottl2005-12-161-1/+1
| | | | be sorted out later.
* Add support for writing VIA metadata.sos2005-12-151-16/+198
| | | | Null out the metadata on disks when array is deleted.
* Add RAID0+1 and RAID5 support to VIA RAID code.sos2005-12-141-2/+23
| | | | Fix support for multiple arrays.
* Correct calculation of RAID0 sizes on VIA RAID arrays.sos2005-12-141-6/+8
|
* Add support for writing SiS metadata.sos2005-12-121-7/+109
|
* Switch off debugging that was left on in last commit.sos2005-12-051-1/+1
|
* Add support for writing Intel MatrixRAID arrays.sos2005-12-051-56/+190
| | | | | | | Do a little better on handling volumes as well, however we cant create multiple volumes from FreeBSD yet. HW sponsored by: Mullet Scandinavia AB
* Update the ICH7 support so it deals better with chips without AHCI.sos2005-12-021-17/+34
| | | | | | | | | Update Intel MatrixRAID support to be able to pick up RAID0+1 (RAID10) and RAID5 arrays without panic'ing. This has the side effect of now also supporting multiple volumes on MatrixRAID's now I have the metadata better understood.. HW sponsored by: Mullet Scandinavia AB
* Fix the ata_composite/ata_request leak when using RAID0+1.sos2005-11-291-9/+17
| | | | | | Submitted by: Michael Butler Minor changes to fit ATA style by me.
* Fix SiS SATA support, the SATA registers was off.sos2005-11-281-1/+167
| | | | | | Add support for SiS metadata. HW donated by: obrien
* Normalize a significant number of kernel malloc type names:rwatson2005-10-311-1/+1
| | | | | | | | | | | | | | | | | | | - Prefer '_' to ' ', as it results in more easily parsed results in memory monitoring tools such as vmstat. - Remove punctuation that is incompatible with using memory type names as file names, such as '/' characters. - Disambiguate some collisions by adding subsystem prefixes to some memory types. - Generally prefer lower case to upper case. - If the same type is defined in multiple architecture directories, attempt to use the same name in additional cases. Not all instances were caught in this change, so more work is required to finish this conversion. Similar changes are required for UMA zone names.
* Minor cleanups, no functional changessos2005-10-131-17/+2
|
* Add support for the ATI IXP[234]00 series chipsets.sos2005-10-121-0/+1
| | | | HW donated by: sentex
* Fix problem with finding the still working disk in a broken mirror on VIA.sos2005-09-061-1/+1
|
* Dont limit all transfers to DEV_BSIZE (stale dbug code)sos2005-08-041-3/+4
| | | | Hide the loaded/unloaded message behind bootverbose
* Avoid GCC optimizations from injecting a call to memset(?) in ordermarcel2005-06-111-1/+2
| | | | | | | | | | to initialize the buffer array in ata_raid_attach() by removing the initializer. There's no memset(?) in the kernel. Instead, assign '\0' to the first element. The buffer array holds strings only, so this is functionally equivalent. Applies to: ia64 Tripped over by: tinderbox
* Apply the usual woodoo for 64bitness.sos2005-06-061-2/+2
|
* Add support for nVidia's software RAID "MediaShield".sos2005-06-061-3/+198
| | | | HW Sponsored by: Yahoo!
* Change the way ioctls are issue to ATA.sos2005-05-161-41/+44
| | | | | | The most prominent part is that its now possible to issue ata_requests directly to say acd0, instead of going through the cumbersome /dev/ata device.
* Cleanup commentssos2005-05-131-4/+4
|
* Always attach a subdisk even if no valid metadata found.sos2005-05-021-1/+2
| | | | This allows the disks to be used later in a raid create.
* Take newbusification one step further, ie use the device_t more consequentlysos2005-04-301-1/+1
| | | | | | | all way through the code down the layers, instead of the mix'n'match that resulted from the conversion done earlier. Sponsored by: pair.com
* Fix a bug introduced in r1.89 thats caused leak of requests, and possiblysos2005-04-261-1/+1
| | | | bogus data to be written.
OpenPOWER on IntegriCloud