Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-update
[linux-2.6] / include / linux / raid / linear.h
1 #ifndef _LINEAR_H
2 #define _LINEAR_H
3
4 #include <linux/raid/md.h>
5
6 struct dev_info {
7         mdk_rdev_t      *rdev;
8         sector_t        num_sectors;
9         sector_t        start_sector;
10 };
11
12 typedef struct dev_info dev_info_t;
13
14 struct linear_private_data
15 {
16         struct linear_private_data *prev;       /* earlier version */
17         dev_info_t              **hash_table;
18         sector_t                spacing;
19         sector_t                array_sectors;
20         int                     sector_shift;   /* shift before dividing
21                                                  * by spacing
22                                                  */
23         dev_info_t              disks[0];
24 };
25
26
27 typedef struct linear_private_data linear_conf_t;
28
29 #define mddev_to_conf(mddev) ((linear_conf_t *) mddev->private)
30
31 #endif