]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blob - drivers/md/multipath.h
md: move lots of #include lines out of .h files and into .c
[mirror_ubuntu-zesty-kernel.git] / drivers / md / multipath.h
1 #ifndef _MULTIPATH_H
2 #define _MULTIPATH_H
3
4 struct multipath_info {
5 mdk_rdev_t *rdev;
6 };
7
8 struct multipath_private_data {
9 mddev_t *mddev;
10 struct multipath_info *multipaths;
11 int raid_disks;
12 int working_disks;
13 spinlock_t device_lock;
14 struct list_head retry_list;
15
16 mempool_t *pool;
17 };
18
19 typedef struct multipath_private_data multipath_conf_t;
20
21 /*
22 * this is the only point in the RAID code where we violate
23 * C type safety. mddev->private is an 'opaque' pointer.
24 */
25 #define mddev_to_conf(mddev) ((multipath_conf_t *) mddev->private)
26
27 /*
28 * this is our 'private' 'collective' MULTIPATH buffer head.
29 * it contains information about what kind of IO operations were started
30 * for this MULTIPATH operation, and about their status:
31 */
32
33 struct multipath_bh {
34 mddev_t *mddev;
35 struct bio *master_bio;
36 struct bio bio;
37 int path;
38 struct list_head retry_list;
39 };
40 #endif