multipath.h 650 B

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