1 #ifndef TARGET_CORE_IBLOCK_H 2 #define TARGET_CORE_IBLOCK_H 3 4 #define IBLOCK_VERSION "4.0" 5 6 #define IBLOCK_MAX_CDBS 16 7 #define IBLOCK_LBA_SHIFT 9 8 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 18 #define IBDF_HAS_UDEV_PATH 0x01 19 #define IBDF_HAS_FORCE 0x02 20 21 struct iblock_dev { 22 unsigned char ibd_udev_path[SE_UDEV_PATH_LEN]; 23 int ibd_force; 24 int ibd_major; 25 int ibd_minor; 26 u32 ibd_depth; 27 u32 ibd_flags; 28 struct bio_set *ibd_bio_set; 29 struct block_device *ibd_bd; 30 struct iblock_hba *ibd_host; 31 } ____cacheline_aligned; 32 33 struct iblock_hba { 34 int iblock_host_id; 35 } ____cacheline_aligned; 36 37 #endif /* TARGET_CORE_IBLOCK_H */ 38