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