multipath.h
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:1k
- #ifndef _MULTIPATH_H
- #define _MULTIPATH_H
- #include <linux/raid/md.h>
- struct multipath_info {
- mdk_rdev_t *rdev;
- };
- struct multipath_private_data {
- mddev_t *mddev;
- struct multipath_info *multipaths;
- int raid_disks;
- int working_disks;
- spinlock_t device_lock;
- struct list_head retry_list;
- mempool_t *pool;
- };
- typedef struct multipath_private_data multipath_conf_t;
- /*
- * this is the only point in the RAID code where we violate
- * C type safety. mddev->private is an 'opaque' pointer.
- */
- #define mddev_to_conf(mddev) ((multipath_conf_t *) mddev->private)
- /*
- * this is our 'private' 'collective' MULTIPATH buffer head.
- * it contains information about what kind of IO operations were started
- * for this MULTIPATH operation, and about their status:
- */
- struct multipath_bh {
- mddev_t *mddev;
- struct bio *master_bio;
- struct bio bio;
- int path;
- struct list_head retry_list;
- };
- #endif