Age | Commit message (Collapse) | Author |
|
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
|
|
|
|
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.
|
|
Fix a typo while here.
The rebuild field was appended to the metadata so that we can automatically
update from v2 to v3. The only visible difference will be that in the dmesg
the SCSI version number will go from 002 to 003.
ok deraad.
|
|
pretty-print the UUID in RFC4122 form
|
|
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
|
|
instead of malloc;
OK hshoexer@ and macro@
|
|
most 0.5TB of disk. This is well below P1619-2007's recommendation
for AES-XTS of 1TB/key, but small enough so we can test that we
actually use multiple keys with inexpensive hardware.
We allocate 32 keys, so this will do for volumes up to 16TB.
Fix a crypto session leak in sr_crypto_free_resources()
much debugging help mshoexer@; ok hshoexer@ marco@
|
|
|
|
been correctly decrypted using the masking key.
The check code is a HMAC-SHA1 over the disk keys using a hash of
the masking key. It should be slow enough to provide no useful
brute force success oracle and should not leak significant data about
the masking key or disk keys.
ok hshoexer@ marco@
|
|
reserved space in case we ever want to support a different scheme
ok hshoexer@ marco@
|
|
ok marco djm
|
|
parts in #ifdef _KERNEL; makes softraidvar.h usable from userland
ok hshoexer@
|
|
|
|
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
|
|
discussed with krw, kettenis & drahn
ok hshoexer
|
|
disabled, of course, and still work in progress.
help by djm@, ok marco@
|
|
also use aes to generate proppper IVs
ok marco@
|
|
code single time I look at it.
|
|
ok marco@
|
|
|
|
ok tedu@ marco@
|
|
Randomize Crypto password and add salt array.
Add mock key encryption functions.
|
|
fucntion. Fix bug in the crypto code that could casuse data corruption as
a bonus, bad cut & past tedu!
|
|
same code in all disciplines. This shaves of a few bytes.
crypto 3185 -> 2690
raid 0 2843 -> 2378
raid 1 3474 -> 2689
|
|
|
|
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
|
|
|
|
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.
|
|
|
|
Much prodding todd
|
|
|
|
a jungle. ok deraadt marco
|
|
|
|
|
|
type of all variables to daddr64_t. this includes the APIs for XXsize()
and XXdump(), all range checks inside bio drivers, internal variables
for disklabel handling, and even uvm's swap offsets. re-read numerous
times by otto, miod, krw, thib to look for errors
|
|
certain disciplines.
|
|
way if we shut down the system we can make sure that it makes it onto disk
before scsibus detach.
ok dlg
|
|
help from drahn
|
|
|
|
|
|
ok marco
|
|
|
|
|
|
ok tedu
|
|
1) noautoassemble; when set the softraid volume will not be assembled during
autoconf.
2) force; when set it will overwrite metadata on disk
While writing this I ran into 3 bugs that were fixed along the way
1) bcopy in sr_read_meta was copying data to the wrong pointer
2) in sr_read_meta the wrong metadata was coppied into the chunk
3) sr_free_discipline was freing a pointer that wasn't malloc'd
ok dlg
|
|
order and roams volumes yet but is useful enough in most environments.
|
|
remove seeding of checksums.
|
|
Code from tedu.
Replace all kernel string magic with dev_t passed in from bioctl.
Suggestion from beck and tedu. Help from miod.
Fix chunk crc.
ok tedu
|
|
Verify all metada to make sure it is correct; this includes sorting the chunks
Add 2 new functions for printing uuid and metadata.
|