[SCSI] scsi_transport_iscsi: added support for host event
[linux-2.6.git] / include / scsi / libiscsi_tcp.h
index e6bf8ef..215469a 100644 (file)
@@ -39,6 +39,7 @@ struct iscsi_segment {
        unsigned int            total_copied;
 
        struct hash_desc        *hash;
+       unsigned char           padbuf[ISCSI_PAD_LEN];
        unsigned char           recv_digest[ISCSI_DIGEST_SIZE];
        unsigned char           digest[ISCSI_DIGEST_SIZE];
        unsigned int            digest_len;
@@ -46,11 +47,12 @@ struct iscsi_segment {
        struct scatterlist      *sg;
        void                    *sg_mapped;
        unsigned int            sg_offset;
+       bool                    atomic_mapped;
 
        iscsi_segment_done_fn_t *done;
 };
 
-/* Socket connection recieve helper */
+/* Socket connection receive helper */
 struct iscsi_tcp_recv {
        struct iscsi_hdr        *hdr;
        struct iscsi_segment    segment;
@@ -79,7 +81,7 @@ struct iscsi_tcp_task {
        int                     data_offset;
        struct iscsi_r2t_info   *r2t;           /* in progress solict R2T */
        struct iscsi_pool       r2tpool;
-       struct kfifo            *r2tqueue;
+       struct kfifo            r2tqueue;
        void                    *dd_data;
 };
 
@@ -99,7 +101,8 @@ extern int iscsi_tcp_task_xmit(struct iscsi_task *task);
 
 /* segment helpers */
 extern int iscsi_tcp_recv_segment_is_hdr(struct iscsi_tcp_conn *tcp_conn);
-extern int iscsi_tcp_segment_done(struct iscsi_segment *segment, int recv,
+extern int iscsi_tcp_segment_done(struct iscsi_tcp_conn *tcp_conn,
+                                 struct iscsi_segment *segment, int recv,
                                  unsigned copied);
 extern void iscsi_tcp_segment_unmap(struct iscsi_segment *segment);
 
@@ -125,7 +128,7 @@ extern void iscsi_tcp_conn_teardown(struct iscsi_cls_conn *cls_conn);
 /* misc helpers */
 extern int iscsi_tcp_r2tpool_alloc(struct iscsi_session *session);
 extern void iscsi_tcp_r2tpool_free(struct iscsi_session *session);
-
+extern int iscsi_tcp_set_max_r2t(struct iscsi_conn *conn, char *buf);
 extern void iscsi_tcp_conn_get_stats(struct iscsi_cls_conn *cls_conn,
                                     struct iscsi_stats *stats);
 #endif /* LIBISCSI_TCP_H */