1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef TARGET_CORE_IBLOCK_H
3 #define TARGET_CORE_IBLOCK_H
5 #include <linux/atomic.h>
6 #include <linux/refcount.h>
7 #include <linux/blkdev.h>
8 #include <target/target_core_base.h>
10 #define IBLOCK_VERSION "4.0"
12 #define IBLOCK_MAX_CDBS 16
16 atomic_t ib_bio_err_cnt
;
17 } ____cacheline_aligned
;
19 #define IBDF_HAS_UDEV_PATH 0x01
21 #define IBD_PLUGF_PLUGGED 0x01
23 struct iblock_dev_plug
{
24 struct se_dev_plug se_plug
;
25 struct blk_plug blk_plug
;
31 unsigned char ibd_udev_path
[SE_UDEV_PATH_LEN
];
33 struct bio_set ibd_bio_set
;
34 struct block_device
*ibd_bd
;
35 struct file
*ibd_bdev_file
;
37 struct iblock_dev_plug
*ibd_plug
;
38 } ____cacheline_aligned
;
40 #endif /* TARGET_CORE_IBLOCK_H */