#define HSM 6UL
#define MULTIPATH 7UL
#define RAID6 8UL
-#define MAX_PERSONALITY 9UL
+#define RAID10 9UL
+#define MAX_PERSONALITY 10UL
#define LEVEL_MULTIPATH (-4)
#define LEVEL_LINEAR (-1)
case RAID1: return 1;
case RAID5: return 5;
case RAID6: return 6;
+ case RAID10: return 10;
}
BUG();
return MD_RESERVED;
case 4:
case 5: return RAID5;
case 6: return RAID6;
+ case 10: return RAID10;
}
return MD_RESERVED;
}
unsigned long resync_mark; /* a recent timestamp */
sector_t resync_mark_cnt;/* blocks written at resync_mark */
+ sector_t resync_max_sectors; /* may be set by personality */
/* recovery/resync flags
* NEEDED: we might need to start a resync/recover
* RUNNING: a thread is running, or about to be started
set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
}
+static inline void md_sync_acct(struct block_device *bdev, unsigned long nr_sectors)
+{
+ atomic_add(nr_sectors, &bdev->bd_contains->bd_disk->sync_io);
+}
+
struct mdk_personality_s
{
char *name;