summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2009-01-21 20:38:01 -0600
committerMike Christie <michaelc@cs.wisc.edu>2009-01-21 20:38:01 -0600
commitb0cdb201bf49d53a95e31324066ab4a6e51d95fc (patch)
tree095149d85a35ad1bce42a0eea0b3c7ec1cb541a8
parent41dd8271f760b7472197aeaaceb1090cc96d641d (diff)
downloadopen-iscsi-b0cdb201bf49d53a95e31324066ab4a6e51d95fc.tar.gz
iscsi mod iscsi_tcp: compat fix for pI4/pI6
pI4/pI6 was added 2.6.29. This patch just adds some ifdefs.
-rw-r--r--kernel/iscsi_tcp.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/kernel/iscsi_tcp.c b/kernel/iscsi_tcp.c
index 6214055..8ef3f41 100644
--- a/kernel/iscsi_tcp.c
+++ b/kernel/iscsi_tcp.c
@@ -25,7 +25,8 @@
* Arne Redlich
* Zhenyu Wang
*/
-
+#include <linux/version.h>
+#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/inet.h>
#include <linux/file.h>
@@ -593,14 +594,22 @@ static int iscsi_sw_tcp_get_addr(struct iscsi_conn *conn, struct socket *sock,
case AF_INET:
sin = (struct sockaddr_in *)addr;
spin_lock_bh(&conn->session->lock);
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
sprintf(buf, "%pI4", &sin->sin_addr.s_addr);
+#else
+ sprintf(buf, NIPQUAD_FMT, NIPQUAD(sin->sin_addr.s_addr));
+#endif
*port = be16_to_cpu(sin->sin_port);
spin_unlock_bh(&conn->session->lock);
break;
case AF_INET6:
sin6 = (struct sockaddr_in6 *)addr;
spin_lock_bh(&conn->session->lock);
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
sprintf(buf, "%pI6", &sin6->sin6_addr);
+#else
+ sprintf(buf, NIP6_FMT, NIP6(sin6->sin6_addr));
+#endif
*port = be16_to_cpu(sin6->sin6_port);
spin_unlock_bh(&conn->session->lock);
break;