xref: /openbmc/linux/drivers/md/raid0.h (revision 82ced6fd)
1 #ifndef _RAID0_H
2 #define _RAID0_H
3 
4 struct strip_zone
5 {
6 	sector_t zone_start;	/* Zone offset in md_dev (in sectors) */
7 	sector_t dev_start;	/* Zone offset in real dev (in sectors) */
8 	sector_t sectors;	/* Zone size in sectors */
9 	int nb_dev;		/* # of devices attached to the zone */
10 	mdk_rdev_t **dev;	/* Devices attached to the zone */
11 };
12 
13 struct raid0_private_data
14 {
15 	struct strip_zone **hash_table; /* Table of indexes into strip_zone */
16 	struct strip_zone *strip_zone;
17 	mdk_rdev_t **devlist; /* lists of rdevs, pointed to by strip_zone->dev */
18 	int nr_strip_zones;
19 
20 	sector_t spacing;
21 	int sector_shift; /* shift this before divide by spacing */
22 };
23 
24 typedef struct raid0_private_data raid0_conf_t;
25 
26 #define mddev_to_conf(mddev) ((raid0_conf_t *) mddev->private)
27 
28 #endif
29