Age | Commit message (Collapse) | Author |
|
the size that is currently supported (a data area of 16TB, or
2^32 * 32 + 528 blocks including the softraid metadata/boot area), rather
than successfully creating the volume and then failing during resource
allocation (without properly reporting why it failed).
Found the hard way by sharon s. <mymlact at gmx dot com>
|
|
disks.
test gonzalo
ok tom krw jsing
|
|
|
|
sr_crypto_pbkdf (since it is useable for more than just pkcs5_pbkdf2) and
embed a struct sr_crypto_genkdf within it, rather than redeclaring the same
fields. Rename SR_CRYPTOKDFT_PBKDF2 to SR_CRYPTOKDFT_PCKS5_PBKDF2 and add
SR_CRYPTOKDFT_BCRYPT_PBKDF for upcoming changes.
|
|
having five copies of the same code.
ok krw@
|
|
sectors. Volumes created will present a sector size equal to the
largest sector size of the constituent disks.
Softraid Metadata version cranks to 6 due to new field.
ok jsing@ with tweaks that will follow soon.
|
|
since they are now relative to chunks. Use 'blkno' as normal variable
name for daddr_t items rather than mix of 'blkno, blk, offset.
Change field name ssd_data_offset to ssd_data_blkno since it is a
block and not byte quantity.
No intentional functional change.
|
|
of the destination fields.
ok jsing@
|
|
when workqs were introduced, we provided a second argument so you
could pass a thing and some context to work on it in. there were
very few things that took advantage of the second argument, so when
i introduced pools i suggested removing it. since tasks were meant
to replace workqs, it was requested that we keep the second argument
to make porting from workqs to tasks easier.
now that workqs are gone, i had a look at the use of the second
argument again and found only one good use of it (vdsp(4) on sparc64
if you're interested) and a tiny handful of questionable uses. the
vast majority of tasks only used a single argument. i have since
modified all tasks that used two args to only use one, so now we
can remove the second argument.
so this is a mechanical change. all tasks only passed NULL as their
second argument, so we can just remove it.
ok krw@
|
|
many years and wide spread demand for support never materialized.
time to pack it in.
|
|
much help and ok from deraadt@
|
|
workq to taskq
ok jsing@
|
|
the disciplines right after vfs_shutdown().
This change is required in order to be able to set `cold' to 1 before
traversing the device (mainbus) tree for DVACT_POWERDOWN when halting
a machine. Yes, this is ugly because sr_shutdown() needs to sleep. But
at least it is obvious and hopefully somebody will be ofended and fix
it.
In order to properly flush the cache of the disks under softraid0,
sr_shutdown() now propagates DVACT_POWERDOWN for this particular subtree
of devices which are not under mainbus. As a side effect sd(4) shutdown
hook should no longer be necessary.
Tested by stsp@ and Jean-Philippe Ouellet.
ok deraadt@, stsp@, jsing@
|
|
|
|
to the existing rebuild code.
ok krw@
|
|
sr_dump_block and place it under the debug define in the process.
|
|
ok dlg@
|
|
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@
|
|
ok krw@
|
|
for variable size work units. While here, remove some pointless checks.
ok krw@
|
|
ok dlg@
|
|
instead of having multiple switch statements in various places.
ok mikeb@
|
|
ok krw@
|
|
RAID 6 borrow them from RAID 5.
|
|
Discussed with krw@
|
|
5 instead of RAID 4, assuming both were functional.
Discussed with krw@
|
|
|
|
can expose some of the kernel structures with split .h files if need be.
Discussed with various, including jsing.
|
|
test period; i think 3 years ago the last bugs fell out.
ok otto beck others
|
|
simplifies the discipline code, avoids code duplication and moves the
scheduling logic into a single location.
ok krw@
|
|
scheduled, rather than trying to imply this from the rebuild flag.
|
|
from discipline specific I/O. Such work units are not associated with a
SCSI xfer and are returned via sr_wu_put() on completion.
|
|
|
|
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@
|
|
implementations only ever returned zero. Change the return value from
int to void instead of pretending it might mean something.
|
|
the sd_sync check/wakeup. Remove some unnecessary NULL checks whilst here.
ok krw@
|
|
the disciplines that now have the same interrupt code.
ok krw@
|
|
performed.
ok krw@
|
|
code is sufficient.
ok krw@
|
|
happen to be softraid disciplines.
ok krw@
|
|
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@
|
|
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@
|
|
ok krw@
|
|
not necessarily terminal (i.e. we have redundancy).
ok krw@
|
|
ok krw@
|
|
along with a function that enqueues a ccb on a workunit.
ok krw@
|
|
discipline data structure. To be used with an upcoming diff.
|
|
ok krw@
|
|
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'.
|
|
a crypto volume when it is assembling it.
|