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