]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/iscsi_tcp.h
[PATCH] libata: make code actually compile with debugging on
[linux-2.6-omap-h63xx.git] / drivers / scsi / iscsi_tcp.h
index d23ae68fae0d8d6821b8045cfff25eba70a3e356..ba26741ac1544bd41ec348b95579432471d5d75b 100644 (file)
@@ -71,7 +71,8 @@
 #define ISCSI_MGMT_CMDS_MAX            32      /* must be power of 2 */
 #define ISCSI_MGMT_ITT_OFFSET          0xa00
 #define ISCSI_SG_TABLESIZE             SG_ALL
-#define ISCSI_CMD_PER_LUN              128
+#define ISCSI_DEF_CMD_PER_LUN          32
+#define ISCSI_MAX_CMD_PER_LUN          128
 #define ISCSI_TCP_MAX_CMD_LEN          16
 
 #define ITT_MASK                       (0xfff)
@@ -112,7 +113,10 @@ struct iscsi_tcp_recv {
        int                     datadgst;
 };
 
+struct iscsi_cls_conn;
+
 struct iscsi_conn {
+       struct iscsi_cls_conn   *cls_conn;      /* ptr to class connection */
        struct iscsi_hdr        hdr;            /* header placeholder */
        char                    hdrext[4*sizeof(__u16) +
                                    sizeof(__u32)];
@@ -142,7 +146,6 @@ struct iscsi_conn {
        struct iscsi_mgmt_task  *login_mtask;   /* mtask used for login/text */
        struct iscsi_mgmt_task  *mtask;         /* xmit mtask in progress */
        struct iscsi_cmd_task   *ctask;         /* xmit ctask in progress */
-       spinlock_t              lock;           /* FIXME: to be removed */
 
        /* old values for socket callbacks */
        void                    (*old_data_ready)(struct sock *, int);
@@ -157,7 +160,7 @@ struct iscsi_conn {
        struct kfifo            *mgmtqueue;     /* mgmt (control) xmit queue */
        struct kfifo            *xmitqueue;     /* data-path cmd queue */
        struct work_struct      xmitwork;       /* per-conn. xmit workqueue */
-       struct semaphore        xmitsema;       /* serializes connection xmit,
+       struct mutex            xmitmutex;      /* serializes connection xmit,
                                                 * access to kfifos:      *
                                                 * xmitqueue, writequeue, *
                                                 * immqueue, mgmtqueue    */
@@ -190,6 +193,8 @@ struct iscsi_conn {
        uint32_t                sendpage_failures_cnt;
        uint32_t                discontiguous_hdr_cnt;
        uint32_t                eh_abort_cnt;
+
+       ssize_t (*sendpage)(struct socket *, struct page *, int, size_t, int);
 };
 
 struct iscsi_session {
@@ -239,8 +244,8 @@ struct iscsi_session {
 
 struct iscsi_buf {
        struct scatterlist      sg;
-       struct kvec             iov;
        unsigned int            sent;
+       char                    use_sendmsg;
 };
 
 struct iscsi_data_task {