Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[pandora-kernel.git] / drivers / target / target_core_iblock.h
1 #ifndef TARGET_CORE_IBLOCK_H
2 #define TARGET_CORE_IBLOCK_H
3
4 #define IBLOCK_VERSION          "4.0"
5
6 #define IBLOCK_HBA_QUEUE_DEPTH  512
7 #define IBLOCK_DEVICE_QUEUE_DEPTH       32
8 #define IBLOCK_MAX_DEVICE_QUEUE_DEPTH   128
9 #define IBLOCK_MAX_CDBS         16
10 #define IBLOCK_LBA_SHIFT        9
11
12 struct iblock_req {
13         struct se_task ib_task;
14         unsigned char ib_scsi_cdb[TCM_MAX_COMMAND_SIZE];
15         atomic_t ib_bio_cnt;
16         atomic_t ib_bio_err_cnt;
17         struct bio *ib_bio;
18         struct iblock_dev *ib_dev;
19 } ____cacheline_aligned;
20
21 #define IBDF_HAS_UDEV_PATH              0x01
22 #define IBDF_HAS_FORCE                  0x02
23
24 struct iblock_dev {
25         unsigned char ibd_udev_path[SE_UDEV_PATH_LEN];
26         int     ibd_force;
27         int     ibd_major;
28         int     ibd_minor;
29         u32     ibd_depth;
30         u32     ibd_flags;
31         struct bio_set  *ibd_bio_set;
32         struct block_device *ibd_bd;
33         struct iblock_hba *ibd_host;
34 } ____cacheline_aligned;
35
36 struct iblock_hba {
37         int             iblock_host_id;
38 } ____cacheline_aligned;
39
40 #endif /* TARGET_CORE_IBLOCK_H */