blob: ba15469daf114e3eb3d75a3ba2cde1659fdfb02e [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;
8 sector_t size;
9 sector_t offset;
10};
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;
NeilBrown7c7546c2006-06-26 00:27:41 -070019 sector_t array_size;
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