linear.h 550 B

1234567891011121314151617181920212223242526272829
  1. #ifndef _LINEAR_H
  2. #define _LINEAR_H
  3. #include <linux/raid/md.h>
  4. struct dev_info {
  5. mdk_rdev_t *rdev;
  6. sector_t size;
  7. sector_t offset;
  8. };
  9. typedef struct dev_info dev_info_t;
  10. struct linear_private_data
  11. {
  12. struct linear_private_data *prev; /* earlier version */
  13. dev_info_t **hash_table;
  14. sector_t hash_spacing;
  15. sector_t array_size;
  16. int preshift; /* shift before dividing by hash_spacing */
  17. dev_info_t disks[0];
  18. };
  19. typedef struct linear_private_data linear_conf_t;
  20. #define mddev_to_conf(mddev) ((linear_conf_t *) mddev->private)
  21. #endif