blob: 87090e98529f2118e1bcdc0a4205885e5b676a11 [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;
NeilBrown15945fe2005-09-09 16:23:47 -070018 sector_t hash_spacing;
Andre Nolld6e22152008-07-21 17:05:25 +100019 sector_t array_sectors;
NeilBrown15945fe2005-09-09 16:23:47 -070020 int preshift; /* shift before dividing by hash_spacing */
Linus Torvalds1da177e2005-04-16 15:20:36 -070021 dev_info_t disks[0];
22};
23
24
25typedef struct linear_private_data linear_conf_t;
26
27#define mddev_to_conf(mddev) ((linear_conf_t *) mddev->private)
28
29#endif