summaryrefslogtreecommitdiff
path: root/include/linux/raid
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/raid')
-rw-r--r--include/linux/raid/md_k.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h
index 945346ec2c10..c9a0d4013be7 100644
--- a/include/linux/raid/md_k.h
+++ b/include/linux/raid/md_k.h
@@ -25,10 +25,12 @@
#define MULTIPATH 7UL
#define RAID6 8UL
#define RAID10 9UL
-#define MAX_PERSONALITY 10UL
+#define FAULTY 10UL
+#define MAX_PERSONALITY 11UL
#define LEVEL_MULTIPATH (-4)
#define LEVEL_LINEAR (-1)
+#define LEVEL_FAULTY (-5)
#define MaxSector (~(sector_t)0)
#define MD_THREAD_NAME_MAX 14
@@ -36,6 +38,7 @@
static inline int pers_to_level (int pers)
{
switch (pers) {
+ case FAULTY: return LEVEL_FAULTY;
case MULTIPATH: return LEVEL_MULTIPATH;
case HSM: return -3;
case TRANSLUCENT: return -2;
@@ -53,6 +56,7 @@ static inline int pers_to_level (int pers)
static inline int level_to_pers (int level)
{
switch (level) {
+ case LEVEL_FAULTY: return FAULTY;
case LEVEL_MULTIPATH: return MULTIPATH;
case -3: return HSM;
case -2: return TRANSLUCENT;
@@ -290,6 +294,7 @@ struct mdk_personality_s
int (*sync_request)(mddev_t *mddev, sector_t sector_nr, int go_faster);
int (*resize) (mddev_t *mddev, sector_t sectors);
int (*reshape) (mddev_t *mddev, int raid_disks);
+ int (*reconfig) (mddev_t *mddev, int layout, int chunk_size);
};