Merge branch 'master'
[linux-2.6] / include / linux / raid / raid0.h
1 #ifndef _RAID0_H
2 #define _RAID0_H
3
4 #include <linux/raid/md.h>
5
6 struct strip_zone
7 {
8         sector_t zone_offset;   /* Zone offset in md_dev */
9         sector_t dev_offset;    /* Zone offset in real dev */
10         sector_t size;          /* Zone size */
11         int nb_dev;             /* # of devices attached to the zone */
12         mdk_rdev_t **dev;       /* Devices attached to the zone */
13 };
14
15 struct raid0_private_data
16 {
17         struct strip_zone **hash_table; /* Table of indexes into strip_zone */
18         struct strip_zone *strip_zone;
19         mdk_rdev_t **devlist; /* lists of rdevs, pointed to by strip_zone->dev */
20         int nr_strip_zones;
21
22         sector_t hash_spacing;
23         int preshift;                   /* shift this before divide by hash_spacing */
24 };
25
26 typedef struct raid0_private_data raid0_conf_t;
27
28 #define mddev_to_conf(mddev) ((raid0_conf_t *) mddev->private)
29
30 #endif