diff options
Diffstat (limited to 'drivers/target/target_core_iblock.h')
-rw-r--r-- | drivers/target/target_core_iblock.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/drivers/target/target_core_iblock.h b/drivers/target/target_core_iblock.h new file mode 100644 index 000000000..8c55375d2 --- /dev/null +++ b/drivers/target/target_core_iblock.h @@ -0,0 +1,39 @@ +/* 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; + bool ibd_readonly; + struct iblock_dev_plug *ibd_plug; +} ____cacheline_aligned; + +#endif /* TARGET_CORE_IBLOCK_H */ |