summaryrefslogtreecommitdiffstats
path: root/sys/dev/softraid.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* whitespace. "Sure" marco@ckuethe2009-06-031-4/+4
|
* Oops need to kill the XXX comment that we are not enabling softraid rebuildmarco2009-06-031-4/+1
|
* Start using the shiny new function pointer to determine if we have diskmarco2009-06-031-1/+20
| | | | arrivals or departures.
* Make sure we don't stomp on a RAID partition that is already in use.marco2009-06-031-93/+108
| | | | Code is now enabled and ready for general testing.
* Abuse bio layer a little less by marking fake buffers with B_PHYS.marco2009-06-021-4/+4
| | | | | | | From beck with lots of squealing and ear bleeds. Issue originally reported by todd. ok beck
* spacemarco2009-06-021-2/+1
|
* Make rebuilds restartable over reboots.marco2009-06-021-9/+46
| | | | Abort rebuild and drain IO when shutting down.
* Fix some minor format string problems found in a maze of false positivesderaadt2009-06-021-2/+2
| | | | | provided by Parfait ok oga
* Add an identifier that tells us if we can rebuild this discipline.marco2009-06-021-5/+9
| | | | KNF & spelling too
* First bits for rebuild. Disabled for now.marco2009-06-021-34/+250
|
* Bring up raid sets that have missing memebers.marco2009-05-301-30/+46
|
* When probing for softraid chunks, ensure that a chunk has a valid metadatajsing2009-05-111-2/+9
| | | | | | | | signature, rather than just assuming that a partition of type RAID always has metadata. Add a similar test when validating native metadata. Whilst here, make sure that the metadata version is printed correctly. ok marco@
* Move the discipline initialisation code into discipline specific functions,jsing2009-05-111-98/+8
| | | | | | | | rather than initialising everything in softraid.c. This makes a discipline more self-contained and reduces the number of function declarations needed in softraidvar.h. ok marco@
* Use NO_CCB when we run out of work units. This way we don't have to caremarco2009-04-291-2/+2
| | | | | about having enough WU + CCB during rebuilds. This also brings softraid closer to behaving like the other SCSI devices.
* Move discipline pointer init into its own functionmarco2009-04-281-114/+130
|
* Part one of partial bringup volumes. Plenty of rope to kill your datamarco2009-04-281-31/+86
| | | | use with caution...
* KNF, typo and an uninteresting if(&=) instead of if(&) bug in debug codemarco2009-04-261-6/+7
|
* Extend the scsi_adapter minphys() callback to take a struct scsi_link *miod2009-02-161-3/+3
| | | | | | as additional argument. This will allow intermediate layers between scsi devices such as sd and scsi host adapters to take appropriate action if necessary.
* This creates the notion of a non-disk softraid device. The aoe targetmarco2008-12-241-92/+110
| | | | | | | | | | is such a beast because it doesn't physically add a device to the OS but exports a RAID partition. It creates a kernel thread for each exported aoe target. Since it reuses all the goodies in softraid upon reboot the metadata is discovered and therefore the partition is exported at boot time. ok tedu dlg
* Add generic sr_scsi_done function that does the spl dancemarco2008-11-251-4/+14
|
* Halt scanning by returning proper sense for illegal LUN.marco2008-11-251-1/+14
|
* softraid support for ata over ethernet (aoe). this includes a client andtedu2008-11-231-1/+66
| | | | | | part of a server. there's no configuration yet, and several other drawbacks, but it can be hammered into shape. i haven't moved the code forward in a year, and marco wants it in the tree to hack on.
* missing newline in printf; Thomas Pfaffderaadt2008-11-231-2/+2
|
* Fix various printf constructs either missing arguments or format specifiers.miod2008-10-111-7/+7
|
* Make sure some possibly uninitialized local variables are assigned correctmiod2008-09-221-2/+2
| | | | | | values in all cases. ok marco@
* Add curproc to ioctl call.marco2008-07-211-4/+4
| | | | Noticed by todd, proded by miod.
* fill in variant and version components of the UUIDdjm2008-07-201-7/+17
| | | | pretty-print the UUID in RFC4122 form
* Full rewrite of metadata handling. This fixes power failures and crashesmarco2008-07-191-1093/+1241
| | | | | | | | | | | | | | | | that caused illegal checksums. The new metadata code is more or less ready to deal with other vendor's metadata formats. While here clean up the name space. Fix thib's pool mess by adding removing bad flags in interrupt context. tested on macppc, amd64, i386, sparc64 & hppa sparc64 has issues with crypto however those do not seem to be softraid specific. help from okan@ ckuethe@ Will Backman and others
* use pools for the uio and iovec allocations in sr_crypto_getcryptop()thib2008-06-251-1/+21
| | | | | | instead of malloc; OK hshoexer@ and macro@
* Provide a status field for operations on the bc_opaque data. Now we'rehshoexer2008-06-141-1/+9
| | | | | | | able to distinguish cleanly an failing ioctl (ie. return value -1) from trying to retrieve a KDF hint from a not yet initialized volume. ok marco djm
* Update bioctl(8) and softraid(4) to recent changes and enable softraidhshoexer2008-06-141-3/+1
| | | | | | crypto. It's still considered experimental! ok djm marco
* When assembling an already initialized crytpo softraid, correctly copy inhshoexer2008-06-131-4/+6
| | | | | | | | | mask key from userland. Thus, modify sr_crypto_get_kdf() do correclty handle copying kdf hint and/or mask key. While there, remove superflous sr_read_meta(). ok marco djm
* make sure to check that a crypto volume is not yet assembled whenhshoexer2008-06-121-11/+10
| | | | | | | | retrieving the kdf blobb. Pointed out by marco. while there, use %lld instead of %d when printing b_blkno, which daddr64_t. ok marco
* Clead discipline pointer after delete. Found by hshoexermarco2008-06-121-3/+9
|
* Get mask keying for on-disk keys from user space and keep a "hint" for keyhshoexer2008-06-121-7/+31
| | | | | | | | | generation used by user space in the meta data. Actually use the masking key for encryption and decryption of on-disk key at run time. ok djm marco
* Be more paranoid before disestablishing hookmarco2008-06-121-2/+3
| | | | ok hshoexer
* Add delete volume functionality.marco2008-06-121-1/+45
| | | | | discussed with krw, kettenis & drahn ok hshoexer
* Move first pieces of crypto softraid into the tree. Still totallyhshoexer2008-06-111-6/+14
| | | | | | disabled, of course, and still work in progress. help by djm@, ok marco@
* rename arc4random_bytes => arc4random_buf to match libc's nicer name;djm2008-06-091-2/+2
| | | | ok deraadt@
* fix bad printf if metadata clearing failedmartin2008-04-021-2/+2
| | | | | | from Rainer Giedat ok marco@
* Add myself to the copyrights, ok marco@ckuethe2008-02-151-1/+2
|
* Actually implement the crypto.ckuethe2008-02-141-28/+6
| | | | ok tedu@ marco@
* Add optional metadata memebers.marco2008-02-071-9/+100
| | | | | Randomize Crypto password and add salt array. Add mock key encryption functions.
* Shave off a few more bytes by moving IO collision detection into a genericmarco2008-02-051-1/+33
| | | | | fucntion. Fix bug in the crypto code that could casuse data corruption as a bonus, bad cut & past tedu!
* Add strip size to debug print.marco2008-02-051-1/+2
|
* Create a generic function to validate IO instead of copying and pastingmarco2008-02-051-1/+58
| | | | | | | | same code in all disciplines. This shaves of a few bytes. crypto 3185 -> 2690 raid 0 2843 -> 2378 raid 1 3474 -> 2689
* There is no such thing as RAIDCRYPTO so rename to CRYPTOmarco2008-02-031-3/+3
|
* Improve performance dramatically by preventing severeal context switches.marco2008-01-291-2/+3
| | | | | | | | | Decrypt only once on entry or exit instead of on in and out regardless of direction. There is still room for improvement but this is the first stab. Tested by many ok tedu
* Create chunk and state transition functions for RAID 0.marco2008-01-241-204/+8
| | | | | | Move RAID 1 chunk and state transition functions into proper file. Let Crypto use RAID 1 chunk and state transition functions for now but this needs fixing.
* Bring softraid into the world of 16 byte commands; this allows for > 2TB disksmarco2008-01-241-11/+28
| | | | Fix bioctl size output which was off by *512; diagnosed by otto