summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authormnc <mnc@d7303112-9cec-0310-bdd2-e83a94d6c2b6>2006-01-17 00:10:46 +0000
committermnc <mnc@d7303112-9cec-0310-bdd2-e83a94d6c2b6>2006-01-17 00:10:46 +0000
commit1ccb4a463d6ddd38eda631570bb6ac5a431c171a (patch)
tree9fa19659af8a1a837e01cabbd58930dff0226758 /kernel
parentbb73d017652cd5248cd99e3f216af9cdc1db885e (diff)
downloadopen-iscsi-1ccb4a463d6ddd38eda631570bb6ac5a431c171a.tar.gz
add new compat patches to support 2.6.11 - 2.6.16-rc1
git-svn-id: svn://svn.berlios.de/open-iscsi@463 d7303112-9cec-0310-bdd2-e83a94d6c2b6
Diffstat (limited to 'kernel')
-rw-r--r--kernel/Makefile37
-rw-r--r--kernel/backward-compile-2.6.11.patch166
-rw-r--r--kernel/backward-compile-2.6.12.patch99
3 files changed, 31 insertions, 271 deletions
diff --git a/kernel/Makefile b/kernel/Makefile
index 69938b3..03a9e84 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -20,24 +20,49 @@ EXTRA_CFLAGS += -DNETLINK_ISCSI=12
endif
endif
+#TODO: learn how to program Makefiles!
all:
ifeq ($(KVER),11)
- @if cat scsi_transport_iscsi.c | \
- grep transport_container_register > /dev/null; then \
+ @if ! cat scsi_transport_iscsi.c | \
+ grep iscsi_compat > /dev/null; then \
echo "kernel check... FAILED"; \
- echo "Please apply backward-compile-2.6.11.patch first!"; exit 1; fi
+ echo "Apply the 2.6.11-compat.patch first!"; exit 1; fi
@echo "kernel check... OK"
else
ifeq ($(KVER),12)
- @if cat scsi_transport_iscsi.c | \
- grep "__nlmsg_put.*, 0);" > /dev/null; then \
+ @if ! cat scsi_transport_iscsi.c | \
+ grep iscsi_compat > /dev/null; then \
echo "kernel check... FAILED"; \
- echo "Please apply backward-compile-2.6.12.patch first!"; exit 1; fi
+ echo "Apply the 2.6.12-and-2.6.13-compat.patch first!"; exit 1; fi
+ @echo "kernel check... OK"
+else
+ifeq ($(KVER),13)
+ @if ! cat scsi_transport_iscsi.c | \
+ grep iscsi_compat > /dev/null; then \
+ echo "kernel check... FAILED"; \
+ echo "Apply the 2.6.12-and-2.6.13-compat.patch first!"; exit 1; fi
+ @echo "kernel check... OK"
+else
+ifeq ($(KVER),14)
+ @if ! cat scsi_transport_iscsi.c | \
+ grep iscsi_compat > /dev/null; then \
+ echo "kernel check... FAILED"; \
+ echo "Apply the 2.6.14-and-2.6.15-compat.patch first!"; exit 1; fi
+ @echo "kernel check... OK"
+else
+ifeq ($(KVER),15)
+ @if ! cat scsi_transport_iscsi.c | \
+ grep iscsi_compat > /dev/null; then \
+ echo "kernel check... FAILED"; \
+ echo "Apply the 2.6.14-and-2.6.15-compat.patch first!"; exit 1; fi
@echo "kernel check... OK"
else
@echo "kernel check... OK"
endif
endif
+endif
+endif
+endif
make -C $(KSRC) SUBDIRS=`pwd` $(KARCH)
clean:
diff --git a/kernel/backward-compile-2.6.11.patch b/kernel/backward-compile-2.6.11.patch
deleted file mode 100644
index b539af7..0000000
--- a/kernel/backward-compile-2.6.11.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-Index: iscsi_tcp.c
-===================================================================
---- iscsi_tcp.c (revision 371)
-+++ iscsi_tcp.c (working copy)
-@@ -1567,7 +1567,7 @@
- ctask->conn = conn;
- ctask->hdr.opcode = ISCSI_OP_SCSI_CMD;
- ctask->hdr.flags = ISCSI_ATTR_SIMPLE;
-- int_to_scsilun(sc->device->lun, (struct scsi_lun *)ctask->hdr.lun);
-+ ctask->hdr.lun[1] = sc->device->lun;
- ctask->hdr.itt = ctask->itt | (conn->id << CID_SHIFT) |
- (session->age << AGE_SHIFT);
- ctask->hdr.data_length = cpu_to_be32(sc->request_bufflen);
-@@ -2938,14 +2938,17 @@
- struct iscsi_conn *conn = ctask->conn;
- struct iscsi_session *session = conn->session;
-
-+ spin_unlock_irq(session->host->host_lock);
- spin_lock_bh(&session->lock);
- if (session->state == ISCSI_STATE_TERMINATE) {
- debug_scsi("failing host reset: session terminated "
- "[CID %d age %d]", conn->id, session->age);
- spin_unlock_bh(&session->lock);
-+ spin_lock_irq(session->host->host_lock);
- return FAILED;
- }
- spin_unlock_bh(&session->lock);
-+ spin_lock_irq(session->host->host_lock);
-
- debug_scsi("failing connection CID %d due to SCSI host reset "
- "[itt 0x%x age %d]", conn->id, ctask->itt,
-@@ -2983,6 +2986,7 @@
- struct iscsi_conn *conn = ctask->conn;
- struct iscsi_session *session = conn->session;
-
-+ spin_unlock_irq(session->host->host_lock);
- conn->eh_abort_cnt++;
- debug_scsi("aborting [sc %lx itt 0x%x]\n", (long)sc, ctask->itt);
-
-@@ -3154,6 +3158,7 @@
- write_unlock_bh(&sk->sk_callback_lock);
- }
- up(&conn->xmitsema);
-+ spin_lock_irq(session->host->host_lock);
- return rc;
- }
-
-Index: scsi_transport_iscsi.c
-===================================================================
---- scsi_transport_iscsi.c (revision 371)
-+++ scsi_transport_iscsi.c (working copy)
-@@ -58,9 +58,9 @@
- /*
- * We do not have any private or other attrs.
- */
-- struct transport_container conn_cont;
-+ struct attribute_container conn_cont;
- struct class_device_attribute *conn_attrs[ISCSI_CONN_ATTRS + 1];
-- struct transport_container session_cont;
-+ struct attribute_container session_cont;
- struct class_device_attribute *session_attrs[ISCSI_SESSION_ATTRS + 1];
- };
-
-@@ -354,7 +354,7 @@
- return -ENOMEM;
- }
-
-- nlh = __nlmsg_put(skb, daemon_pid, 0, 0, (len - sizeof(*nlh)), 0);
-+ nlh = __nlmsg_put(skb, daemon_pid, 0, 0, (len - sizeof(*nlh)));
- ev = NLMSG_DATA(nlh);
- memset(ev, 0, sizeof(*ev));
- ev->transport_handle = iscsi_handle(conn->transport);
-@@ -390,7 +390,7 @@
- return;
- }
-
-- nlh = __nlmsg_put(skb, daemon_pid, 0, 0, (len - sizeof(*nlh)), 0);
-+ nlh = __nlmsg_put(skb, daemon_pid, 0, 0, (len - sizeof(*nlh)));
- ev = NLMSG_DATA(nlh);
- ev->transport_handle = iscsi_handle(conn->transport);
- ev->type = ISCSI_KEVENT_CONN_ERROR;
-@@ -426,7 +426,7 @@
- */
- BUG_ON(!skb);
-
-- nlh = __nlmsg_put(skb, pid, seq, t, (len - sizeof(*nlh)), 0);
-+ nlh = __nlmsg_put(skb, pid, seq, t, (len - sizeof(*nlh)));
- nlh->nlmsg_flags = flags;
- memcpy(NLMSG_DATA(nlh), payload, size);
- return iscsi_unicast_skb(&z_reply, skb);
-@@ -762,7 +762,7 @@
- }
-
- nlhstat = __nlmsg_put(skbstat, daemon_pid, 0, 0,
-- (len - sizeof(*nlhstat)), 0);
-+ (len - sizeof(*nlhstat)));
- evstat = NLMSG_DATA(nlhstat);
- memset(evstat, 0, sizeof(*evstat));
- evstat->transport_handle = iscsi_handle(conn->transport);
-@@ -1022,10 +1022,10 @@
- return 0;
-
- priv = to_iscsi_internal(shost->transportt);
-- if (priv->session_cont.ac.class != &iscsi_session_class.class)
-+ if (priv->session_cont.class != &iscsi_session_class.class)
- return 0;
-
-- return &priv->session_cont.ac == cont;
-+ return &priv->session_cont == cont;
- }
-
- static int iscsi_is_conn_dev(const struct device *dev)
-@@ -1049,10 +1049,10 @@
- return 0;
-
- priv = to_iscsi_internal(shost->transportt);
-- if (priv->conn_cont.ac.class != &iscsi_connection_class.class)
-+ if (priv->conn_cont.class != &iscsi_connection_class.class)
- return 0;
-
-- return &priv->conn_cont.ac == cont;
-+ return &priv->conn_cont == cont;
- }
-
- int iscsi_register_transport(struct iscsi_transport *tt)
-@@ -1100,10 +1100,10 @@
- }
-
- /* connection parameters */
-- priv->conn_cont.ac.attrs = &priv->conn_attrs[0];
-- priv->conn_cont.ac.class = &iscsi_connection_class.class;
-- priv->conn_cont.ac.match = iscsi_conn_match;
-- transport_container_register(&priv->conn_cont);
-+ priv->conn_cont.attrs = &priv->conn_attrs[0];
-+ priv->conn_cont.class = &iscsi_connection_class.class;
-+ priv->conn_cont.match = iscsi_conn_match;
-+ attribute_container_register(&priv->conn_cont);
-
- SETUP_CONN_RD_ATTR(max_recv_dlength, ISCSI_PARAM_MAX_RECV_DLENGTH);
- SETUP_CONN_RD_ATTR(max_xmit_dlength, ISCSI_PARAM_MAX_XMIT_DLENGTH);
-@@ -1117,10 +1117,10 @@
- count = 0;
-
- /* session parameters */
-- priv->session_cont.ac.attrs = &priv->session_attrs[0];
-- priv->session_cont.ac.class = &iscsi_session_class.class;
-- priv->session_cont.ac.match = iscsi_session_match;
-- transport_container_register(&priv->session_cont);
-+ priv->session_cont.attrs = &priv->session_attrs[0];
-+ priv->session_cont.class = &iscsi_session_class.class;
-+ priv->session_cont.match = iscsi_session_match;
-+ attribute_container_register(&priv->session_cont);
-
- SETUP_SESSION_RD_ATTR(initial_r2t, ISCSI_PARAM_INITIAL_R2T_EN);
- SETUP_SESSION_RD_ATTR(max_outstanding_r2t, ISCSI_PARAM_MAX_R2T);
-@@ -1173,8 +1173,8 @@
- list_del(&priv->list);
- spin_unlock_irqrestore(&iscsi_transport_lock, flags);
-
-- transport_container_unregister(&priv->conn_cont);
-- transport_container_unregister(&priv->session_cont);
-+ attribute_container_unregister(&priv->conn_cont);
-+ attribute_container_unregister(&priv->session_cont);
-
- sysfs_remove_group(&priv->cdev.kobj, &iscsi_transport_group);
- class_device_unregister(&priv->cdev);
diff --git a/kernel/backward-compile-2.6.12.patch b/kernel/backward-compile-2.6.12.patch
deleted file mode 100644
index a14dd6a..0000000
--- a/kernel/backward-compile-2.6.12.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-Index: iscsi_tcp.c
-===================================================================
---- iscsi_tcp.c (revision 376)
-+++ iscsi_tcp.c (working copy)
-@@ -1398,7 +1398,7 @@
- ctask->conn = conn;
- ctask->hdr.opcode = ISCSI_OP_SCSI_CMD;
- ctask->hdr.flags = ISCSI_ATTR_SIMPLE;
-- int_to_scsilun(sc->device->lun, (struct scsi_lun *)ctask->hdr.lun);
-+ ctask->hdr.lun[1] = sc->device->lun;
- ctask->hdr.itt = ctask->itt | (conn->id << CID_SHIFT) |
- (session->age << AGE_SHIFT);
- ctask->hdr.data_length = cpu_to_be32(sc->request_bufflen);
-@@ -2540,14 +2540,17 @@
- struct iscsi_conn *conn = ctask->conn;
- struct iscsi_session *session = conn->session;
-
-+ spin_unlock_irq(session->host->host_lock);
- spin_lock_bh(&session->lock);
- if (session->state == ISCSI_STATE_TERMINATE) {
- debug_scsi("failing host reset: session terminated "
- "[CID %d age %d]", conn->id, session->age);
- spin_unlock_bh(&session->lock);
-+ spin_lock_irq(session->host->host_lock);
- return FAILED;
- }
- spin_unlock_bh(&session->lock);
-+ spin_lock_irq(session->host->host_lock);
-
- debug_scsi("failing connection CID %d due to SCSI host reset "
- "[itt 0x%x age %d]", conn->id, ctask->itt,
-@@ -2585,6 +2588,7 @@
- struct iscsi_conn *conn = ctask->conn;
- struct iscsi_session *session = conn->session;
-
-+ spin_unlock_irq(session->host->host_lock);
- conn->eh_abort_cnt++;
- debug_scsi("aborting [sc %lx itt 0x%x]\n", (long)sc, ctask->itt);
-
-@@ -2756,6 +2760,7 @@
- write_unlock_bh(&sk->sk_callback_lock);
- }
- up(&conn->xmitsema);
-+ spin_lock_irq(session->host->host_lock);
- return rc;
- }
-
-Index: scsi_transport_iscsi.c
-===================================================================
---- scsi_transport_iscsi.c (revision 376)
-+++ scsi_transport_iscsi.c (working copy)
-@@ -354,7 +354,7 @@
- return -ENOMEM;
- }
-
-- nlh = __nlmsg_put(skb, daemon_pid, 0, 0, (len - sizeof(*nlh)), 0);
-+ nlh = __nlmsg_put(skb, daemon_pid, 0, 0, (len - sizeof(*nlh)));
- ev = NLMSG_DATA(nlh);
- memset(ev, 0, sizeof(*ev));
- ev->transport_handle = iscsi_handle(conn->transport);
-@@ -390,7 +390,7 @@
- return;
- }
-
-- nlh = __nlmsg_put(skb, daemon_pid, 0, 0, (len - sizeof(*nlh)), 0);
-+ nlh = __nlmsg_put(skb, daemon_pid, 0, 0, (len - sizeof(*nlh)));
- ev = NLMSG_DATA(nlh);
- ev->transport_handle = iscsi_handle(conn->transport);
- ev->type = ISCSI_KEVENT_CONN_ERROR;
-@@ -426,7 +426,7 @@
- */
- BUG_ON(!skb);
-
-- nlh = __nlmsg_put(skb, pid, seq, t, (len - sizeof(*nlh)), 0);
-+ nlh = __nlmsg_put(skb, pid, seq, t, (len - sizeof(*nlh)));
- nlh->nlmsg_flags = flags;
- memcpy(NLMSG_DATA(nlh), payload, size);
- return iscsi_unicast_skb(&z_reply, skb);
-@@ -762,7 +762,7 @@
- }
-
- nlhstat = __nlmsg_put(skbstat, daemon_pid, 0, 0,
-- (len - sizeof(*nlhstat)), 0);
-+ (len - sizeof(*nlhstat)));
- evstat = NLMSG_DATA(nlhstat);
- memset(evstat, 0, sizeof(*evstat));
- evstat->transport_handle = iscsi_handle(conn->transport);
-@@ -1234,8 +1234,8 @@
- if (err)
- goto unregister_session_class;
-
-- nls = netlink_kernel_create(NETLINK_ISCSI, 1, iscsi_if_rx,
-- THIS_MODULE);
-+ nls = netlink_kernel_create(NETLINK_ISCSI, iscsi_if_rx);
-+
- if (!nls) {
- err = -ENOBUFS;
- goto unregister_notifier;
-