summaryrefslogtreecommitdiff
path: root/include/linux/raid/md_u.h
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-03-31 14:27:03 +1100
committerNeilBrown <neilb@suse.de>2009-03-31 14:27:03 +1100
commit8b2b5c217c20b5460218ab8731295f2e46c7dd29 (patch)
treef5da8b06b3d2a53e80c31e0c0aa386e381b3a841 /include/linux/raid/md_u.h
parentef740c372dfd80e706dbf955d4e4aedda6c0c148 (diff)
md: move LEVEL_* definition from md_k.h to md_u.h
.. as they are part of the user-space interface. Also move MdpMinorShift into there so we can remove duplication. Lastly move mdp_major in. It is less obviously part of the user-space interface, but do_mounts_md.c uses it, and it is acting a bit like user-space. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'include/linux/raid/md_u.h')
-rw-r--r--include/linux/raid/md_u.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/raid/md_u.h b/include/linux/raid/md_u.h
index 7192035fc4b0..2f824aa889f3 100644
--- a/include/linux/raid/md_u.h
+++ b/include/linux/raid/md_u.h
@@ -46,6 +46,12 @@
#define STOP_ARRAY_RO _IO (MD_MAJOR, 0x33)
#define RESTART_ARRAY_RW _IO (MD_MAJOR, 0x34)
+/* 63 partitions with the alternate major number (mdp) */
+#define MdpMinorShift 6
+#ifdef __KERNEL__
+extern int mdp_major;
+#endif
+
typedef struct mdu_version_s {
int major;
int minor;
@@ -85,6 +91,17 @@ typedef struct mdu_array_info_s {
} mdu_array_info_t;
+/* non-obvious values for 'level' */
+#define LEVEL_MULTIPATH (-4)
+#define LEVEL_LINEAR (-1)
+#define LEVEL_FAULTY (-5)
+
+/* we need a value for 'no level specified' and 0
+ * means 'raid0', so we need something else. This is
+ * for internal use only
+ */
+#define LEVEL_NONE (-1000000)
+
typedef struct mdu_disk_info_s {
/*
* configuration/status of one particular disk