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 } ____cacheline_aligned;
16 
17 #define IBDF_HAS_UDEV_PATH		0x01
18 
19 struct iblock_dev {
20 	unsigned char ibd_udev_path[SE_UDEV_PATH_LEN];
21 	u32	ibd_flags;
22 	struct bio_set	*ibd_bio_set;
23 	struct block_device *ibd_bd;
24 	struct iblock_hba *ibd_host;
25 } ____cacheline_aligned;
26 
27 struct iblock_hba {
28 	int		iblock_host_id;
29 } ____cacheline_aligned;
30 
31 #endif /* TARGET_CORE_IBLOCK_H */
32