target_core_iblock.h 908 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef TARGET_CORE_IBLOCK_H
  2. #define TARGET_CORE_IBLOCK_H
  3. #define IBLOCK_VERSION "4.0"
  4. #define IBLOCK_HBA_QUEUE_DEPTH 512
  5. #define IBLOCK_DEVICE_QUEUE_DEPTH 32
  6. #define IBLOCK_MAX_DEVICE_QUEUE_DEPTH 128
  7. #define IBLOCK_MAX_CDBS 16
  8. #define IBLOCK_LBA_SHIFT 9
  9. struct iblock_req {
  10. struct se_task ib_task;
  11. unsigned char ib_scsi_cdb[TCM_MAX_COMMAND_SIZE];
  12. atomic_t ib_bio_cnt;
  13. atomic_t ib_bio_err_cnt;
  14. struct bio *ib_bio;
  15. struct iblock_dev *ib_dev;
  16. } ____cacheline_aligned;
  17. #define IBDF_HAS_UDEV_PATH 0x01
  18. #define IBDF_HAS_FORCE 0x02
  19. struct iblock_dev {
  20. unsigned char ibd_udev_path[SE_UDEV_PATH_LEN];
  21. int ibd_force;
  22. int ibd_major;
  23. int ibd_minor;
  24. u32 ibd_depth;
  25. u32 ibd_flags;
  26. struct bio_set *ibd_bio_set;
  27. struct block_device *ibd_bd;
  28. struct iblock_hba *ibd_host;
  29. } ____cacheline_aligned;
  30. struct iblock_hba {
  31. int iblock_host_id;
  32. } ____cacheline_aligned;
  33. #endif /* TARGET_CORE_IBLOCK_H */