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