summaryrefslogtreecommitdiff
path: root/sys/dev/softraidvar.h
diff options
context:
space:
mode:
authorMarco Peereboom <marco@cvs.openbsd.org>2009-06-10 03:24:03 +0000
committerMarco Peereboom <marco@cvs.openbsd.org>2009-06-10 03:24:03 +0000
commit8ac48e3106a31781ca1936d46d4308bbb159e58c (patch)
tree6a77c0f06ec34b5e6cc480abba6865295f19d6ee /sys/dev/softraidvar.h
parent2bc2b6103c65d8ce73638a950f705228d8533b83 (diff)
Add framework for raid 4 & 5 so that we can work in tree.
Diffstat (limited to 'sys/dev/softraidvar.h')
-rw-r--r--sys/dev/softraidvar.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/dev/softraidvar.h b/sys/dev/softraidvar.h
index 7b9156b0d36..c342ac17e12 100644
--- a/sys/dev/softraidvar.h
+++ b/sys/dev/softraidvar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: softraidvar.h,v 1.71 2009/06/03 21:04:36 marco Exp $ */
+/* $OpenBSD: softraidvar.h,v 1.72 2009/06/10 03:24:02 marco Exp $ */
/*
* Copyright (c) 2006 Marco Peereboom <marco@peereboom.us>
* Copyright (c) 2008 Chris Kuethe <ckuethe@openbsd.org>
@@ -295,6 +295,12 @@ struct sr_raid1 {
u_int32_t sr1_counter;
};
+/* RAID 4 */
+#define SR_RAIDP_NOWU 16
+struct sr_raidp {
+ int32_t srp_strip_bits;
+};
+
/* CRYPTO */
#define SR_CRYPTO_NOWU 16
struct sr_crypto {
@@ -366,6 +372,7 @@ struct sr_discipline {
#define SR_MD_CRYPTO 4
#define SR_MD_AOE_INIT 5
#define SR_MD_AOE_TARG 6
+#define SR_MD_RAID4 7
char sd_name[10]; /* human readable dis name */
u_int8_t sd_scsibus; /* scsibus discipline uses */
struct scsi_link sd_link; /* link to midlayer */
@@ -373,6 +380,7 @@ struct sr_discipline {
union {
struct sr_raid0 mdd_raid0;
struct sr_raid1 mdd_raid1;
+ struct sr_raidp mdd_raidp;
struct sr_crypto mdd_crypto;
#ifdef AOE
struct sr_aoe mdd_aoe;
@@ -492,6 +500,7 @@ void sr_raid_startwu(struct sr_workunit *);
/* Discipline specific initialisation. */
void sr_raid0_discipline_init(struct sr_discipline *);
void sr_raid1_discipline_init(struct sr_discipline *);
+void sr_raidp_discipline_init(struct sr_discipline *);
void sr_crypto_discipline_init(struct sr_discipline *);
void sr_aoe_discipline_init(struct sr_discipline *);
void sr_aoe_server_discipline_init(struct sr_discipline *);