Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-01-22 | Add a debug flag for rebuild. | Joel Sing | |
2014-01-22 | Make rebuild a discipline specific function pointer. For now, this defaults | Joel Sing | |
to the existing rebuild code. ok krw@ | |||
2014-01-22 | Move sr_dump from the RAID5 code into shared code. Rename it to | Joel Sing | |
sr_dump_block and place it under the debug define in the process. | |||
2014-01-22 | Switch metadata saves from the system workq to the system taskq. | Joel Sing | |
ok dlg@ | |||
2014-01-21 | Instead of maintaining a completely separate list of crypto work units, | Joel Sing | |
simply allocate larger work units and include the normal work unit struct in the top of the crypto work unit struct. This greatly simplifies the code and removes possible failure cases. Discussed with dlg@ ok krw@ | |||
2014-01-21 | Allow for variable sized work units. | Joel Sing | |
ok krw@ | |||
2014-01-21 | Use a TAILQ for tracking work units, rather than an array. This will allow | Joel Sing | |
for variable size work units. While here, remove some pointless checks. ok krw@ | |||
2014-01-20 | Convert the softraid work unit workqs to taskqs. | Joel Sing | |
ok dlg@ | |||
2014-01-20 | Store the algorithm and key length in the discipline data structure, | Joel Sing | |
instead of having multiple switch statements in various places. ok mikeb@ | |||
2014-01-20 | Replace dedicated swu_fake variable with a work unit flag. | Joel Sing | |
ok krw@ | |||
2014-01-18 | Move the block get/put routines into the common code, instead of having | Joel Sing | |
RAID 6 borrow them from RAID 5. | |||
2014-01-18 | Rename softraid RAIDP to softraid RAID5. | Joel Sing | |
Discussed with krw@ | |||
2014-01-18 | Remove the RAID 4 discipline from softraid. Anyone sensible would use RAID | Joel Sing | |
5 instead of RAID 4, assuming both were functional. Discussed with krw@ | |||
2014-01-18 | Improve comments re KDF hints. | Joel Sing | |
2013-11-04 | substantial namespace cleanup. Might go a little bit too far, but we | Theo de Raadt | |
can expose some of the kernel structures with split .h files if need be. Discussed with various, including jsing. | |||
2013-06-11 | final removal of daddr64_t. daddr_t has been 64 bit for a long enough | Theo de Raadt | |
test period; i think 3 years ago the last bugs fell out. ok otto beck others | |||
2013-05-21 | Provide a function that handles the scheduling of work units. This | Joel Sing | |
simplifies the discipline code, avoids code duplication and moves the scheduling logic into a single location. ok krw@ | |||
2013-05-21 | Use a state to indicate that a work unit should only be constructed and not | Joel Sing | |
scheduled, rather than trying to imply this from the rebuild flag. | |||
2013-04-26 | Add a SR_WUF_DISCIPLINE flag that identifies work units that have resulted | Joel Sing | |
from discipline specific I/O. Such work units are not associated with a SCSI xfer and are returned via sr_wu_put() on completion. | |||
2013-04-23 | Rename ccb_flag to ccb_flags. | Joel Sing | |
2013-04-21 | Convert RAID1 to the new work unit completion functions and generic | Joel Sing | |
interrupt handler. Disciplines such as RAID1/4/5/6 need a way to intercept I/O when the work unit is complete, but before the SCSI xfer is complete. This is provided via a sd_scsi_wu_done hook, which enables work units to be restarted or otherwise modified before the SCSI xfer completion occurs. ok krw@ | |||
2013-03-31 | The return value of sd_free_resources() is never checked and all of the | Joel Sing | |
implementations only ever returned zero. Change the return value from int to void instead of pretending it might mean something. | |||
2013-03-30 | Provide wrappers for scsi_io_get() and scsi_io_put(), that also include | Joel Sing | |
the sd_sync check/wakeup. Remove some unnecessary NULL checks whilst here. ok krw@ | |||
2013-03-30 | Provide a default discipline interrupt handling function and migrate all of | Joel Sing | |
the disciplines that now have the same interrupt code. ok krw@ | |||
2013-03-29 | Decouple wakeups on work unit completion from the type of I/O being | Joel Sing | |
performed. ok krw@ | |||
2013-03-25 | Factor out the code that is used to recreate work units - one copy of the | Joel Sing | |
code is sufficient. ok krw@ | |||
2013-03-10 | Rename sc_dis to sc_targets, since it is an array of targets that also | Joel Sing | |
happen to be softraid disciplines. ok krw@ | |||
2013-03-05 | Track attached softraid disciplines via a queue. This prevents the need to | Joel Sing | |
scan the sparse SCSI targets array and simplifies code. Disciplines are now also shutdown in reverse attach order, making manually stacked softraid volumes somewhat more practical. ok krw@ | |||
2013-01-18 | Implement common workunit completion functions and handle the completion | Joel Sing | |
via a workq callback. Also provide a discipline specific hook that allows it to optionally handle the final part of the workunit completion. ok krw@ | |||
2013-01-16 | Add a function that handles the completion of a ccb. | Joel Sing | |
ok krw@ | |||
2013-01-16 | Add a new capability flag to identify disciplines where read failures are | Joel Sing | |
not necessarily terminal (i.e. we have redundancy). ok krw@ | |||
2013-01-16 | Factor out code used to release ccbs from a workunit. | Joel Sing | |
ok krw@ | |||
2013-01-15 | Implement a function that gets and correctly initialises a ccb for I/O, | Joel Sing | |
along with a function that enqueues a ccb on a workunit. ok krw@ | |||
2013-01-15 | Keep a function pointer to the per-discipline I/O interrupt handler in the | Joel Sing | |
discipline data structure. To be used with an upcoming diff. | |||
2013-01-15 | Factor out workunit initialisation code. | Joel Sing | |
ok krw@ | |||
2012-10-09 | Teach amd64 boot(8) how to access a softraid crypto volume. This allows for | Joel Sing | |
full disk encryption since the kernel can now be loaded directly from the crypto volume, instead of needing to be on FFS. This is currently disabled by default, however can be enabled by compiling with boot(8) 'make -DBOOT_CRYPTO'. | |||
2012-10-09 | Provide a mechanism for the kernel to directly pass a mask key through to | Joel Sing | |
a crypto volume when it is assembling it. | |||
2012-10-08 | Provide a mechanism for the kernel to pass data through to the discipline | Joel Sing | |
during volume assembly. | |||
2012-01-28 | Only pass bio ioctls through to the softraid bio ioctl handler. Rename the | Joel Sing | |
handler to emphasise that it is for bio ioctls only. Discovered the hard way by dhill@ | |||
2012-01-20 | Add bio(4) status interface structs and utility functions to softraid(4). | Joel Sing | |
2012-01-11 | Make sr_boot_chunk and sr_boot_volume accessible from userland. Add a | Joel Sing | |
number of variables that are needed to detect and assemble volumes. A sr_metadata struct can be allocated and used via the sbc_metadata pointer, which we now do in the kernel boot probe/assembly code. | |||
2011-12-31 | Implement a concatenating discipline for softraid. | Joel Sing | |
Many thanks to Marco Peereboom for his assistance with testing and debugging. Thanks also to Josh Grosse and Chris Jackman for testing. | |||
2011-12-28 | Cleanup the metadata initialisation process - have sr_meta_init() | Joel Sing | |
initialise both the volume and chunk metadata before the discipline specific sd_create() function is called. The sr_meta_init_complete() function is then called to complete the initialisation based on values provided by sd_create(). | |||
2011-12-26 | Provide default set chunk state and set volume state functions which | Joel Sing | |
cover the no redundancy/no rebuild case. Use these for the AOE, crypto and RAID 0 disciplines. | |||
2011-11-11 | Remove unused sv_sensor_valid variable. | Joel Sing | |
2011-09-19 | When installboot is run on a softraid volume, add boot optional metadata | Joel Sing | |
to store the DUID of the softraid volume and each of the chunks that it is assembled from. This allows us to correctly identify the root disk. ok deraadt@ | |||
2011-09-18 | Add support for variable length optional metadata in softraid(4). This | Joel Sing | |
will allow new optional metadata types to be added without needing to change the softraid metadata version. Note that this commit changes the softraid metadata version, however an upgrade from older metadata is handled automatically. A full backup prior to upgrading is still strongly recommended. With feedback from stsp@ and marco. | |||
2011-09-18 | Rename the optional metadata handler function and factor out the optional | Joel Sing | |
metadata handling code. This will simplify upcoming changes. | |||
2011-07-07 | reorder two fields | Ted Unangst | |
2011-07-07 | allow AOE config to be specified by userland. ok marco. | Ted Unangst | |
use consistent network types as requested and ok deraadt. |