diff options
Diffstat (limited to 'include/linux/raid1.h')
-rw-r--r-- | include/linux/raid1.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/include/linux/raid1.h b/include/linux/raid1.h new file mode 100644 index 000000000..2f4e525b8 --- /dev/null +++ b/include/linux/raid1.h @@ -0,0 +1,49 @@ +#ifndef _RAID1_H +#define _RAID1_H + +#include <linux/md.h> + +struct mirror_info { + int number; + int raid_disk; + kdev_t dev; + int next; + int sect_limit; + + /* + * State bits: + */ + int operational; + int write_only; + int spare; +}; + +struct raid1_data { + struct md_dev *mddev; + struct mirror_info mirrors[MD_SB_DISKS]; /* RAID1 devices, 2 to MD_SB_DISKS */ + int raid_disks; + int working_disks; /* Number of working disks */ + int last_used; + unsigned long next_sect; + int sect_count; + int resync_running; +}; + +/* + * this is our 'private' 'collective' RAID1 buffer head. + * it contains information about what kind of IO operations were started + * for this RAID5 operation, and about their status: + */ + +struct raid1_bh { + unsigned int remaining; + unsigned int state; + int cmd; + struct md_dev *mddev; + struct buffer_head *master_bh; + struct buffer_head *mirror_bh [MD_SB_DISKS]; + struct buffer_head bh_req; + struct buffer_head *next_retry; +}; + +#endif |