GNU Linux-libre 4.19.314-gnu1
[releases.git] / drivers / md / md-multipath.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _MULTIPATH_H
3 #define _MULTIPATH_H
4
5 struct multipath_info {
6         struct md_rdev  *rdev;
7 };
8
9 struct mpconf {
10         struct mddev                    *mddev;
11         struct multipath_info   *multipaths;
12         int                     raid_disks;
13         spinlock_t              device_lock;
14         struct list_head        retry_list;
15
16         mempool_t               pool;
17 };
18
19 /*
20  * this is our 'private' 'collective' MULTIPATH buffer head.
21  * it contains information about what kind of IO operations were started
22  * for this MULTIPATH operation, and about their status:
23  */
24
25 struct multipath_bh {
26         struct mddev                    *mddev;
27         struct bio              *master_bio;
28         struct bio              bio;
29         int                     path;
30         struct list_head        retry_list;
31 };
32 #endif