blob: 3c5a45eb5f8a14ef8e8caf372470a73ce0dc7700 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _MULTIPATH_H
2#define _MULTIPATH_H
3
Linus Torvalds1da177e2005-04-16 15:20:36 -07004struct multipath_info {
5 mdk_rdev_t *rdev;
6};
7
8struct multipath_private_data {
9 mddev_t *mddev;
10 struct multipath_info *multipaths;
11 int raid_disks;
Linus Torvalds1da177e2005-04-16 15:20:36 -070012 spinlock_t device_lock;
13 struct list_head retry_list;
14
15 mempool_t *pool;
16};
17
18typedef struct multipath_private_data multipath_conf_t;
19
20/*
Linus Torvalds1da177e2005-04-16 15:20:36 -070021 * this is our 'private' 'collective' MULTIPATH buffer head.
22 * it contains information about what kind of IO operations were started
23 * for this MULTIPATH operation, and about their status:
24 */
25
26struct multipath_bh {
27 mddev_t *mddev;
28 struct bio *master_bio;
29 struct bio bio;
30 int path;
31 struct list_head retry_list;
32};
33#endif