target_core_iblock.h 651 B

12345678910111213141516171819202122232425262728293031
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef TARGET_CORE_IBLOCK_H
  3. #define TARGET_CORE_IBLOCK_H
  4. #include <linux/atomic.h>
  5. #include <linux/refcount.h>
  6. #include <target/target_core_base.h>
  7. #define IBLOCK_VERSION "4.0"
  8. #define IBLOCK_MAX_CDBS 16
  9. #define IBLOCK_LBA_SHIFT 9
  10. struct iblock_req {
  11. refcount_t pending;
  12. atomic_t ib_bio_err_cnt;
  13. } ____cacheline_aligned;
  14. #define IBDF_HAS_UDEV_PATH 0x01
  15. struct iblock_dev {
  16. struct se_device dev;
  17. unsigned char ibd_udev_path[SE_UDEV_PATH_LEN];
  18. u32 ibd_flags;
  19. struct bio_set *ibd_bio_set;
  20. struct block_device *ibd_bd;
  21. bool ibd_readonly;
  22. } ____cacheline_aligned;
  23. #endif /* TARGET_CORE_IBLOCK_H */