41 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef TARGET_CORE_IBLOCK_H3#define TARGET_CORE_IBLOCK_H4 5#include <linux/atomic.h>6#include <linux/refcount.h>7#include <linux/blkdev.h>8#include <target/target_core_base.h>9 10#define IBLOCK_VERSION "4.0"11 12#define IBLOCK_MAX_CDBS 1613 14struct iblock_req {15 refcount_t pending;16 atomic_t ib_bio_err_cnt;17} ____cacheline_aligned;18 19#define IBDF_HAS_UDEV_PATH 0x0120 21#define IBD_PLUGF_PLUGGED 0x0122 23struct iblock_dev_plug {24 struct se_dev_plug se_plug;25 struct blk_plug blk_plug;26 unsigned long flags;27};28 29struct 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;39 40#endif /* TARGET_CORE_IBLOCK_H */41