summaryrefslogtreecommitdiffstats
path: root/sys/conf
diff options
context:
space:
mode:
authorstsp <stsp@openbsd.org>2021-02-08 11:20:03 +0000
committerstsp <stsp@openbsd.org>2021-02-08 11:20:03 +0000
commit01de20b5d7746d27bbd8c656e80c96759d46494b (patch)
tree1e4d57f2ada6ef4c695d6622bd832cbf526eab3f /sys/conf
parentRevert the convertion of per-process thread into a SMR_TAILQ. (diff)
downloadwireguard-openbsd-01de20b5d7746d27bbd8c656e80c96759d46494b.tar.xz
wireguard-openbsd-01de20b5d7746d27bbd8c656e80c96759d46494b.zip
Add a RAID1C (raid1 + crypto) softraid(8) discipline.
The RAID1C discipline encrypts data like the CRYPTO discipline, and accepts multiple chunks during creation and assembly like the RAID1 discipline. To deal with failing disks a RAID1C volume may be assembled with a smaller number of chunks than the volume was created with. The volume will then come up in degraded state. If the volume is now detached and assembled again with the correct number of chunks, any re-added chunks will require a rebuild. Consequently, assembling RAID1C volumes requires careful attention to the chunks passed via 'bioctl -l'. If a chunk is accidentally omitted from the command line during volume assembly, then this chunk will need to be rebuilt. At least one known-good chunk is required in order to assemble the volume. Like CRYPTO, RAID1C supports passphrase and key-disk authentication. Key-disk based volumes are assembled automatically if the key disk is present while the system is booting up. Unlike CRYPTO and RAID1, there is no boot support for RAID1C yet. RAID1C largely reuses existing code of RAID1 and CRYPTO disciplines. At present RAID1C's discipline-specific data structure is shared with that of the CRYPTO discipline to allow re-use of existing CRYPTO code. A custom RAID1C data structure would require CRYPTO code to access struct sr_crypto via a pointer instead of via a member field of struct sr_discipline. ok jsing@
Diffstat (limited to 'sys/conf')
-rw-r--r--sys/conf/files3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/conf/files b/sys/conf/files
index ff84e575ae9..836b8a61321 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -1,4 +1,4 @@
-# $OpenBSD: files,v 1.693 2021/01/28 14:53:20 visa Exp $
+# $OpenBSD: files,v 1.694 2021/02/08 11:20:03 stsp Exp $
# $NetBSD: files,v 1.87 1996/05/19 17:17:50 jonathan Exp $
# @(#)files.newconf 7.5 (Berkeley) 5/10/93
@@ -515,6 +515,7 @@ file dev/softraid_raid0.c softraid
file dev/softraid_raid1.c softraid
file dev/softraid_raid5.c softraid
file dev/softraid_raid6.c softraid
+file dev/softraid_raid1c.c softraid & crypto
# SPD Memory EEPROM
device spdmem