1 #ifndef _RAID0_H 2 #define _RAID0_H 3 4 #include <linux/raid/md.h> 5 6 struct strip_zone 7 { 8 unsigned long zone_offset; /* Zone offset in md_dev */ 9 unsigned long dev_offset; /* Zone offset in real dev */ 10 unsigned long size; /* Zone size */ 11 int nb_dev; /* # of devices attached to the zone */ 12 mdk_rdev_t *dev[MD_SB_DISKS]; /* Devices attached to the zone */ 13 }; 14 15 struct raid0_hash 16 { 17 struct strip_zone *zone0, *zone1; 18 }; 19 20 struct raid0_private_data 21 { 22 struct raid0_hash *hash_table; /* Dynamically allocated */ 23 struct strip_zone *strip_zone; /* This one too */ 24 int nr_strip_zones; 25 struct strip_zone *smallest; 26 int nr_zones; 27 }; 28 29 typedef struct raid0_private_data raid0_conf_t; 30 31 #define mddev_to_conf(mddev) ((raid0_conf_t *) mddev->private) 32 33 #endif 34