[SCSI] libiscsi: fix iscsi cmdsn allocation
[deliverable/linux.git] / include / scsi / scsi_transport_iscsi.h
index 39e833260bd0dc63f46258802d0b186fbaa1a6bd..abc4068621d834eead338ecc4a912455b8a606ea 100644 (file)
@@ -29,7 +29,6 @@
 struct scsi_transport_template;
 struct iscsi_transport;
 struct Scsi_Host;
-struct mempool_zone;
 struct iscsi_cls_conn;
 struct iscsi_conn;
 struct iscsi_cmd_task;
@@ -80,7 +79,8 @@ struct iscsi_transport {
        char *name;
        unsigned int caps;
        /* LLD sets this to indicate what values it can export to sysfs */
-       unsigned int param_mask;
+       uint64_t param_mask;
+       uint64_t host_param_mask;
        struct scsi_host_template *host_template;
        /* LLD connection data size */
        int conndata_size;
@@ -106,14 +106,18 @@ struct iscsi_transport {
                               enum iscsi_param param, char *buf);
        int (*get_session_param) (struct iscsi_cls_session *session,
                                  enum iscsi_param param, char *buf);
+       int (*get_host_param) (struct Scsi_Host *shost,
+                               enum iscsi_host_param param, char *buf);
+       int (*set_host_param) (struct Scsi_Host *shost,
+                              enum iscsi_host_param param, char *buf,
+                              int buflen);
        int (*send_pdu) (struct iscsi_cls_conn *conn, struct iscsi_hdr *hdr,
                         char *data, uint32_t data_size);
        void (*get_stats) (struct iscsi_cls_conn *conn,
                           struct iscsi_stats *stats);
        void (*init_cmd_task) (struct iscsi_cmd_task *ctask);
        void (*init_mgmt_task) (struct iscsi_conn *conn,
-                               struct iscsi_mgmt_task *mtask,
-                               char *data, uint32_t data_size);
+                               struct iscsi_mgmt_task *mtask);
        int (*xmit_cmd_task) (struct iscsi_conn *conn,
                              struct iscsi_cmd_task *ctask);
        void (*cleanup_cmd_task) (struct iscsi_conn *conn,
@@ -125,7 +129,7 @@ struct iscsi_transport {
                           uint64_t *ep_handle);
        int (*ep_poll) (uint64_t ep_handle, int timeout_ms);
        void (*ep_disconnect) (uint64_t ep_handle);
-       int (*tgt_dscvr) (enum iscsi_tgt_dscvr type, uint32_t host_no,
+       int (*tgt_dscvr) (struct Scsi_Host *shost, enum iscsi_tgt_dscvr type,
                          uint32_t enable, struct sockaddr *dst_addr);
 };
 
@@ -157,9 +161,6 @@ struct iscsi_cls_conn {
 
        int active;                     /* must be accessed with the connlock */
        struct device dev;              /* sysfs transport/container device */
-       struct mempool_zone *z_error;
-       struct mempool_zone *z_pdu;
-       struct list_head freequeue;
 };
 
 #define iscsi_dev_to_conn(_dev) \
@@ -180,7 +181,7 @@ struct iscsi_cls_session {
 
        /* recovery fields */
        int recovery_tmo;
-       struct work_struct recovery_work;
+       struct delayed_work recovery_work;
 
        int target_id;
 
This page took 0.02579 seconds and 5 git commands to generate.