blob: 556666fec3a5fd555b5b4dd6be58b90acc07c1f3 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _RAID0_H
2#define _RAID0_H
3
Linus Torvalds1da177e2005-04-16 15:20:36 -07004struct strip_zone
5{
Andre Nolldc582662009-06-16 16:18:43 +10006 sector_t zone_end; /* Start of the next zone (in sectors) */
Andre Noll019c4e22009-01-09 08:31:06 +11007 sector_t dev_start; /* Zone offset in real dev (in sectors) */
Andre Noll83838ed2009-01-09 08:31:07 +11008 sector_t sectors; /* Zone size in sectors */
Linus Torvalds1da177e2005-04-16 15:20:36 -07009 int nb_dev; /* # of devices attached to the zone */
10 mdk_rdev_t **dev; /* Devices attached to the zone */
11};
12
13struct raid0_private_data
14{
15 struct strip_zone **hash_table; /* Table of indexes into strip_zone */
16 struct strip_zone *strip_zone;
17 mdk_rdev_t **devlist; /* lists of rdevs, pointed to by strip_zone->dev */
18 int nr_strip_zones;
19
Andre Nollccacc7d2009-01-09 08:31:08 +110020 sector_t spacing;
21 int sector_shift; /* shift this before divide by spacing */
Linus Torvalds1da177e2005-04-16 15:20:36 -070022};
23
24typedef struct raid0_private_data raid0_conf_t;
25
26#define mddev_to_conf(mddev) ((raid0_conf_t *) mddev->private)
27
28#endif