1 #ifndef TARGET_CORE_IBLOCK_H 2 #define TARGET_CORE_IBLOCK_H 3 4 #include <linux/atomic.h> 5 #include <linux/refcount.h> 6 #include <target/target_core_base.h> 7 8 #define IBLOCK_VERSION "4.0" 9 10 #define IBLOCK_MAX_CDBS 16 11 #define IBLOCK_LBA_SHIFT 9 12 13 struct iblock_req { 14 refcount_t pending; 15 atomic_t ib_bio_err_cnt; 16 } ____cacheline_aligned; 17 18 #define IBDF_HAS_UDEV_PATH 0x01 19 20 struct iblock_dev { 21 struct se_device dev; 22 unsigned char ibd_udev_path[SE_UDEV_PATH_LEN]; 23 u32 ibd_flags; 24 struct bio_set *ibd_bio_set; 25 struct block_device *ibd_bd; 26 bool ibd_readonly; 27 } ____cacheline_aligned; 28 29 #endif /* TARGET_CORE_IBLOCK_H */ 30