blob: fd42aa87c39186791d1a06481fecb6ddd7c03326 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _RAID0_H
2#define _RAID0_H
3
4#include <linux/raid/md.h>
5
6struct strip_zone
7{
Andre Noll6199d3d2009-01-09 08:31:07 +11008 sector_t zone_start; /* Zone offset in md_dev (in sectors) */
Andre Noll019c4e22009-01-09 08:31:06 +11009 sector_t dev_start; /* Zone offset in real dev (in sectors) */
Andre Noll83838ed2009-01-09 08:31:07 +110010 sector_t sectors; /* Zone size in sectors */
Linus Torvalds1da177e2005-04-16 15:20:36 -070011 int nb_dev; /* # of devices attached to the zone */
12 mdk_rdev_t **dev; /* Devices attached to the zone */
13};
14
15struct raid0_private_data
16{
17 struct strip_zone **hash_table; /* Table of indexes into strip_zone */
18 struct strip_zone *strip_zone;
19 mdk_rdev_t **devlist; /* lists of rdevs, pointed to by strip_zone->dev */
20 int nr_strip_zones;
21
Andre Nollccacc7d2009-01-09 08:31:08 +110022 sector_t spacing;
23 int sector_shift; /* shift this before divide by spacing */
Linus Torvalds1da177e2005-04-16 15:20:36 -070024};
25
26typedef struct raid0_private_data raid0_conf_t;
27
28#define mddev_to_conf(mddev) ((raid0_conf_t *) mddev->private)
29
30#endif