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