#
272461 |
|
02-Oct-2014 |
gjb |
Copy stable/10@r272459 to releng/10.1 as part of the 10.1-RELEASE process.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
271238 |
|
07-Sep-2014 |
smh |
MFC r256956: Improve ZFS N-way mirror read performance by using load and locality information.
MFC r260713: Fix ZFS mirror code for handling multiple DVA's
Also make the addition of the d_rotation_rate binary compatible. This allows storage drivers compiled for 10.0 to work by preserving the ABI for disks.
Approved by: re (gjb) Sponsored by: Multiplay
|
#
265659 |
|
08-May-2014 |
smh |
MFC r264853
Add some new ATA defines for SATA 3.1 spec
Sponsored by: Multiplay
|
#
263156 |
|
14-Mar-2014 |
mav |
MFC r262886: Fix support for increased logical sector size (4K-native drives).
- Logical sector size is measured in words, not bytes. - If physical sector is not bigger then logical sector, it does not mean it should be set equal to 512 bytes, but set to logical sector.
PR: misc/187269 Submitted by: Ravi Pokala <rpokala@panasas.com>
|
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
249931 |
|
26-Apr-2013 |
smh |
Added Dataset Management defines to be used by TRIM in cam ata and scsi to calculate the size of blocks.
Reviewed by: mav Approved by: pjd (mentor) MFC after: 2 weeks
|
#
249895 |
|
25-Apr-2013 |
smh |
Adds Host Protected Area (HPA) support for ATA disks to camcontrol
Reviewed by: mav Approved by: pjd (mentor) MFC after: 2 weeks
|
#
249115 |
|
04-Apr-2013 |
smh |
Adds security options to camcontrol this includes the ability to secure erase disks such as SSD's
Adds the ability to run ATA commands via the SCSI ATA Pass-Through(16) comand
Reviewed by: mav Approved by: pjd (mentor) MFC after: 2 weeks
|
#
238393 |
|
12-Jul-2012 |
brueffer |
Add and utilize defines for the ATA device register.
PR: 169764 Submitted by: Steven Hartland <steven.hartland@multiplay.co.uk> Reviewed by: mav MFC after: 2 weeks
|
#
235897 |
|
24-May-2012 |
mav |
MFprojects/zfsd: - Add low-level support for SATA Enclosure Management Bridge (SEMB) devices -- SATA equivalents of the SCSI SES/SAF-TE devices. - Add some utility functions for SCSI SAF-TE devices access.
Sponsored by: iXsystems, Inc.
|
#
230132 |
|
15-Jan-2012 |
uqs |
Convert files to UTF-8
|
#
220602 |
|
13-Apr-2011 |
mav |
Improve SATA Asynchronous Notification feature support in CAM: - make SATA SIMs announce capabilities to handle SDB with Notification bit; - make PMP driver honor this SIMs capability; - make SATA XPT to negotiate and enable this feature for ATAPI devices.
This feature allows supporting SATA ATAPI devices to inform system about some events happened, that may require attention. In my case this allows LG GH22LS50 SATA DVR-RW drive to report tray open/close events. Events reported to CAM in form of AC_SCSI_AEN async. Further they could be used as a hints for checking device status and reporting media change to upper layers, for example, via spoiling mechanism of GEOM.
|
#
204354 |
|
26-Feb-2010 |
mav |
Make PUIS detection more strict. Previous implementation caused false positives on VMWare's virtual CD-ROMs.
|
#
203421 |
|
03-Feb-2010 |
mav |
MFp4: Add Power Up In Stand-by feature support. Device with PUIS enabled require explicit command to do initial spin-up. Mark that command with CAM_HIGH_POWER flag, to allow CAM manage staggered spin-up.
|
#
201139 |
|
28-Dec-2009 |
mav |
Add BIO_DELETE support to ada(4): - For SSDs use TRIM feature of DATA SET MANAGEMENT command, as defined by ACS-2 specification working draft. - For CompactFlash use CFA ERASE command, same as ad(4) does.
With this patch, `newfs -E /dev/ada1` was able to restore write speed of my heavily weared OCZ Vertex SSD (firmware 1.4) up to the initial level for the most part of it's capacity. Previous 1.3 firmware, even reportiong TRIM capabilty bit set, was not working, reporting ABORT error for every DSM command.
I have no idea whether it is normal, but for some reason it takes 200ms to handle any TRIM command on this drive, that was making delete extremely slow. But TRIM command is able to accept long list of LBAs and the length of that list seems doesn't affect it's execution time. Implemented request clusting algorithm allowed me to rise delete rate up to reasonable numbers, when many parallel DELETE requests running.
|
#
200008 |
|
01-Dec-2009 |
mav |
Add CAM_ATAIO_DMA ATA command flag to mark DMA protocol commands. It is not needed for SATA controllers, but required for PATA.
|
#
199822 |
|
26-Nov-2009 |
mav |
Drop USB mass storage devices support from ata(4). It is out of the build as long as I remember, and completely superseded by better maintained umass(4). It's main idea was to optionally avoid CAM dependency for such devices, but with move ATA to CAM, it is not actual any more.
No objections: hselasky@, thompsa@, arch@
|
#
198897 |
|
04-Nov-2009 |
mav |
MFp4: - Add support for sector size > 512 bytes and physical sector of several logical sectors, introduced by ATA-7 specification. - Remove some obsoleted code.
|
#
198865 |
|
03-Nov-2009 |
mav |
Fix constants.
|
#
198587 |
|
29-Oct-2009 |
mav |
Define identify fields described in CF specification.
|
#
197540 |
|
27-Sep-2009 |
mav |
Add more defines from recent and not only specs.
|
#
194902 |
|
24-Jun-2009 |
mav |
MFp4: Define several ATA capabilies bits.
|
#
178067 |
|
10-Apr-2008 |
sos |
Add experimental support for SATA Port Multipliers
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!
|
#
177298 |
|
17-Mar-2008 |
phk |
Add a "spindown" facility to ata-disks: If no requests have been received for a configurable number of seconds, spin the disk down. Spin it back up on the next request.
Notice that the timeout is only armed by a request, so to spin down a disk you may have to do:
atacontrol spindown ad10 5 dd if=/dev/ad10 of=/dev/null count=1
To disable spindown, set timeout to zero:
atacontrol spindown ad10 0
In order to debug any trouble caused, this code is somewhat noisy on the console.
Enabling spindown on a disk containing / or /var/log/messages is not going to do anything sensible.
Spinning a disk up and down all the time will wear it out, use sensibly.
Approved by: sos
|
#
174682 |
|
16-Dec-2007 |
phk |
Add the magic word 0 value for CFA compliant devices.
|
#
172606 |
|
12-Oct-2007 |
scottl |
Add definitions for the 3rd ATA support word.
|
#
171819 |
|
13-Aug-2007 |
jhb |
Expand the data structure returned by the ATA RAID status ioctl to include 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
|
#
166287 |
|
27-Jan-2007 |
remko |
Add the SMART command to the ATA instruction set. When the disk has an error, it will now print SMART instead of 'Unknown CMD'.
PR: kern/93368 Submitted by: Garry Belka <garry at NetworkPhysics dot COM> Approved by: sos
|
#
157329 |
|
31-Mar-2006 |
sos |
Make the ATAPI sense data accessible when using the ioctl interface
MFC candidate.
|
#
156325 |
|
05-Mar-2006 |
sos |
Add USB modes.
|
#
156317 |
|
05-Mar-2006 |
sos |
Add two new ATAPI commands.
|
#
154705 |
|
23-Jan-2006 |
sos |
Update copyright header to match rest of ATA.
|
#
152270 |
|
10-Nov-2005 |
sos |
add set/read max address 48bit versions
|
#
148991 |
|
12-Aug-2005 |
sos |
Add definition for SATAII 3Gb/s mode.
|
#
148737 |
|
05-Aug-2005 |
sos |
Allow the array number to be read back on atacontrol create
|
#
148729 |
|
05-Aug-2005 |
sos |
Make IOCATARAIDSTATUS IOWR so status can be gotten correctly
|
#
146266 |
|
16-May-2005 |
sos |
Change the way ioctls are issue to ATA. 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.
|
#
145102 |
|
15-Apr-2005 |
sos |
Move the creation of ata_channel child devices to the channel code. This allows to attach to the children (ATA devices) even without a driver being attached. This allows atapi-cam to do its work both with and without the pure ATAPI driver being present.
ATA patches by /me ATAPI-cam pathes by Thomas
|
#
144330 |
|
30-Mar-2005 |
sos |
This is the much rumoured ATA mkIII update that I've been working on.
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. Also probing is done without the need for interrupts, making earlier probing possible.
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. On other controllers the usual atacontrol detach/attach dance is still needed.
o Support for "atomic" composite ATA requests used for RAID.
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" "FreeBSD PseudoRAID"
o Update the ioctl API to match new RAID levels etc.
o Update atacontrol to know about the new RAID levels etc NOTE: you need to recompile atacontrol with the new sys/ata.h, make world will take care of that. NOTE2: that rebuild is done differently from the old system as the rebuild is now done piggybacked on read requests to the array, so atacontrol simply starts a background "dd" to rebuild the array.
o The reinit code has been worked over to be much more robust.
o The timeout code has been overhauled for races.
o Support of new chipsets.
o Lots of fixes for bugs found while doing the modulerization and reviewing the old code.
Missing or changed features from 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 from all the above metadata formats, not write all of them (Promise and Highpoint V2 so far). This means that arrays can be picked up from the BIOS, but they cannot be created from FreeBSD. There is more to it than just the missing write metadata support, those formats are not unique to a given controller like Promise and Highpoint formats, instead they exist for several types, and even worse, some controllers can have different formats and its impossible to tell which one. The outcome is that we cannot reliably create the metadata of those formats and be sure the controller BIOS will understand it. However write support is needed to update/fail/rebuild the arrays properly so it sits fairly high on the TODO list.
o So far atapicam is not supported with these changes. When/if this will change is up to the maintainer of atapi-cam so go there for questions.
HW donated by: Webveveriet AS HW donated by: Frode Nordahl HW donated by: Yahoo! HW donated by: Sentex Patience by: Vife and my boys (and even the cats)
|
#
129496 |
|
20-May-2004 |
des |
Whitespace cleanup
|
#
127021 |
|
15-Mar-2004 |
sos |
Add SATA support fields
|
#
119877 |
|
08-Sep-2003 |
sos |
Update the PIO mode gathering code.
Reported by: bde
|
#
119404 |
|
24-Aug-2003 |
sos |
This is a major rework of the ATA driver (ATAng)
Restructure the way ATA/ATAPI commands are processed, use a common ata_request structure for both. This centralises the way requests are handled so locking is much easier to handle.
The driver is now layered much more cleanly to seperate the lowlevel HW access so it can be tailored to specific controllers without touching the upper layers. This is needed to support some of the newer semi-intelligent ATA controllers showing up.
The top level drivers (disk, ATAPI devices) are more or less still the same with just corrections to use the new interface.
Pull ATA out from under Gaint now that locking can be done in a sane way.
Add support for a the National Geode SC1100. Thanks to Soekris engineering for sponsoring a Soekris 4801 to make this support.
Fixed alot of small bugs in the chipset code for various chips now we are around in that corner anyways.
|
#
115134 |
|
18-May-2003 |
sos |
Add define for SATA150
Approved by: re
|
#
114528 |
|
02-May-2003 |
sos |
Add function to add spare disk to raid.
|
#
112494 |
|
22-Mar-2003 |
mux |
- Add a new ioctl to get the maximum number of ATA channels. - Use it in atacontrol(8) when listing ATA devices instead of stopping at the first ENXIO received.
This makes atacontrol list work on my sparc64 where the two ATA channels I have are numbered 2 and 3.
Reviewed by: sos
|
#
111187 |
|
20-Feb-2003 |
sos |
First round off updates/fixes to the ATA driver.
This moves all chipset specific code to a new file 'ata-chipset.c'. Extensive use of tables and pointers to avoid having the same switch on chipset type in several places, and to allow substituting various functions for different HW arch needs. Added PIO mode setup and all DMA modes. Support for all known SiS chipsets. Thanks to Christoph Kukulies for sponsoring a nice ASUS P4S8X SiS648 based board for this work!
Tested on: i386, PC98, alpha and sparc64
|
#
93899 |
|
05-Apr-2002 |
sos |
Cleanup, use the same method to denote parts for endianess.
|
#
93881 |
|
05-Apr-2002 |
sos |
Add endianess kludge code, so that bitfields work on the sparc64 as well.
Bad GCC, no cookies...
|
#
93662 |
|
02-Apr-2002 |
sos |
Add get-status to the ATA RAID subsystem.
|
#
93433 |
|
30-Mar-2002 |
sos |
Add support for getting status (fan, temp, 5V and 12V levels) from Promise Superswap enclosures.
Sponsored by: Advanis
|
#
93275 |
|
27-Mar-2002 |
sos |
Add support for creating/deleting ATA RAID's
|
#
91645 |
|
04-Mar-2002 |
sos |
Update header.
|
#
91591 |
|
03-Mar-2002 |
sos |
Add new command definition for rebuilding RAID arrays.
|
#
86016 |
|
04-Nov-2001 |
asmodai |
Add Søren's email address.
|
#
84584 |
|
06-Oct-2001 |
sos |
Update with latest ATA/ATAPI ver 6 rev 2 items.
|
#
83421 |
|
13-Sep-2001 |
obrien |
Re-apply rev 1.178 -- style(9) the structure definitions. I have to wonder how many other changes were lost in the KSE mildstone 2 merge.
|
#
82560 |
|
30-Aug-2001 |
sos |
Add support for sending ATAPI commands via ioctl.
|
#
76740 |
|
17-May-2001 |
sos |
Change the ioctl interface to prepare for new functionality.
|
#
74346 |
|
16-Mar-2001 |
sos |
Sigh, try to get this in sync with an offical src tree...
I hate it when this happens...
|
#
74326 |
|
16-Mar-2001 |
sos |
Remove the SMART ioctls, they are not in the official sources yet..
This should restore world...
|
#
74298 |
|
15-Mar-2001 |
sos |
Add new ATA specific file, to be used with the upcoming atacontrol.
|