Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
tcm_loop.h
Go to the documentation of this file.
1 #define TCM_LOOP_VERSION "v2.1-rc2"
2 #define TL_WWN_ADDR_LEN 256
3 #define TL_TPGS_PER_HBA 32
4 
5 /*
6  * Used in tcm_loop_driver_probe() for struct Scsi_Host->max_cmd_len
7  */
8 #define TL_SCSI_MAX_CMD_LEN 32
9 
10 struct tcm_loop_cmd {
11  /* State of Linux/SCSI CDB+Data descriptor */
13  /* Pointer to the CDB+Data descriptor from Linux/SCSI subsystem */
14  struct scsi_cmnd *sc;
15  /* The TCM I/O descriptor that is accessed via container_of() */
16  struct se_cmd tl_se_cmd;
17  struct work_struct work;
18  /* Sense buffer that will be mapped into outgoing status */
20 };
21 
22 struct tcm_loop_tmr {
25 };
26 
29  /*
30  * Pointer to Linux/SCSI HBA from linux/include/scsi_host.h
31  */
32  struct scsi_host *sh;
33  /*
34  * Pointer to TCM session for I_T Nexus
35  */
37 };
38 
39 struct tcm_loop_nacl {
41 };
42 
43 struct tcm_loop_tpg {
44  unsigned short tl_tpgt;
48 };
49 
50 struct tcm_loop_hba {
53  struct se_hba_s *se_hba;
54  struct se_lun *tl_hba_lun;
56  struct se_device_s *se_dev_hba_ptr;
58  struct device dev;
59  struct Scsi_Host *sh;
62 };