2005-04-17 06:20:36 +08:00
|
|
|
#ifndef _LINEAR_H
|
|
|
|
#define _LINEAR_H
|
|
|
|
|
|
|
|
#include <linux/raid/md.h>
|
|
|
|
|
|
|
|
struct dev_info {
|
|
|
|
mdk_rdev_t *rdev;
|
2008-10-13 08:55:12 +08:00
|
|
|
sector_t num_sectors;
|
|
|
|
sector_t start_sector;
|
2005-04-17 06:20:36 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
typedef struct dev_info dev_info_t;
|
|
|
|
|
|
|
|
struct linear_private_data
|
|
|
|
{
|
2006-06-26 15:27:41 +08:00
|
|
|
struct linear_private_data *prev; /* earlier version */
|
2005-04-17 06:20:36 +08:00
|
|
|
dev_info_t **hash_table;
|
2008-10-13 08:55:12 +08:00
|
|
|
sector_t spacing;
|
2008-07-21 15:05:25 +08:00
|
|
|
sector_t array_sectors;
|
2008-10-13 08:55:12 +08:00
|
|
|
int sector_shift; /* shift before dividing
|
|
|
|
* by spacing
|
|
|
|
*/
|
2005-04-17 06:20:36 +08:00
|
|
|
dev_info_t disks[0];
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct linear_private_data linear_conf_t;
|
|
|
|
|
|
|
|
#define mddev_to_conf(mddev) ((linear_conf_t *) mddev->private)
|
|
|
|
|
|
|
|
#endif
|