blob: f38b9c586afbc38c2a3187ac479735b14ad5fffb [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _LINEAR_H
2#define _LINEAR_H
3
4#include <linux/raid/md.h>
5
6struct dev_info {
7 mdk_rdev_t *rdev;
Andre Noll62838152008-10-13 11:55:12 +11008 sector_t num_sectors;
9 sector_t start_sector;
Linus Torvalds1da177e2005-04-16 15:20:36 -070010};
11
12typedef struct dev_info dev_info_t;
13
14struct linear_private_data
15{
NeilBrown7c7546c2006-06-26 00:27:41 -070016 struct linear_private_data *prev; /* earlier version */
Linus Torvalds1da177e2005-04-16 15:20:36 -070017 dev_info_t **hash_table;
Andre Nollab5bd5c2008-10-13 11:55:12 +110018 sector_t spacing;
Andre Nolld6e22152008-07-21 17:05:25 +100019 sector_t array_sectors;
Andre Nollab5bd5c2008-10-13 11:55:12 +110020 int sector_shift; /* shift before dividing
21 * by spacing
22 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070023 dev_info_t disks[0];
24};
25
26
27typedef struct linear_private_data linear_conf_t;
28
29#define mddev_to_conf(mddev) ((linear_conf_t *) mddev->private)
30
31#endif