| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef TARGET_CORE_IBLOCK_H
- #define TARGET_CORE_IBLOCK_H
- #include <linux/atomic.h>
- #include <linux/refcount.h>
- #include <linux/blkdev.h>
- #include <target/target_core_base.h>
- #define IBLOCK_VERSION "4.0"
- #define IBLOCK_MAX_CDBS 16
- struct iblock_req {
- refcount_t pending;
- atomic_t ib_bio_err_cnt;
- } ____cacheline_aligned;
- #define IBDF_HAS_UDEV_PATH 0x01
- #define IBD_PLUGF_PLUGGED 0x01
- struct iblock_dev_plug {
- struct se_dev_plug se_plug;
- struct blk_plug blk_plug;
- unsigned long flags;
- };
- struct iblock_dev {
- struct se_device dev;
- unsigned char ibd_udev_path[SE_UDEV_PATH_LEN];
- u32 ibd_flags;
- struct bio_set ibd_bio_set;
- struct block_device *ibd_bd;
- struct file *ibd_bdev_file;
- bool ibd_readonly;
- struct iblock_dev_plug *ibd_plug;
- } ____cacheline_aligned;
- #endif /* TARGET_CORE_IBLOCK_H */
|