Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / drivers / target / target_core_iblock.h
blob91f6f4280666cb08d694d458bb53fb96c8719eae
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
14 struct iblock_req {
15 refcount_t pending;
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;
26 unsigned long flags;
29 struct iblock_dev {
30 struct se_device dev;
31 unsigned char ibd_udev_path[SE_UDEV_PATH_LEN];
32 u32 ibd_flags;
33 struct bio_set ibd_bio_set;
34 struct block_device *ibd_bd;
35 struct file *ibd_bdev_file;
36 bool ibd_readonly;
37 struct iblock_dev_plug *ibd_plug;
38 } ____cacheline_aligned;
40 #endif /* TARGET_CORE_IBLOCK_H */