From 67e6c6ab8ebd99dc5b868af4505efe22e8c07dd0 Mon Sep 17 00:00:00 2001 From: mchristi Date: Feb 04 2011 06:10:58 +0000 Subject: Resolves: #523492 --- diff --git a/iscsi-initiator-utils-dcb.patch b/iscsi-initiator-utils-dcb.patch new file mode 100644 index 0000000..4c54470 --- /dev/null +++ b/iscsi-initiator-utils-dcb.patch @@ -0,0 +1,614 @@ +diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/libiscsi/Makefile open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/Makefile +--- open-iscsi-2.0-872-rc4-bnx2i/libiscsi/Makefile 2011-02-03 23:56:36.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/Makefile 2011-02-03 23:57:29.000000000 -0600 +@@ -13,7 +13,7 @@ TESTS += tests/test_set_auth tests/test_ + + COMMON_SRCS = sysdeps.o + # sources shared between iscsid, iscsiadm and iscsistart +-ISCSI_LIB_SRCS = netlink.o uip_mgmt_ipc.o transport.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o io.o auth.o discovery.o login.o log.o md5.o sha1.o iface.o idbm.o sysfs.o iscsi_sysfs.o iscsi_net_util.o iscsid_req.o ++ISCSI_LIB_SRCS = dcb_app.o netlink.o uip_mgmt_ipc.o transport.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o io.o auth.o discovery.o login.o log.o md5.o sha1.o iface.o idbm.o sysfs.o iscsi_sysfs.o iscsi_net_util.o iscsid_req.o + FW_PARAM_SRCS = fw_entry.o prom_lex.o prom_parse.tab.o fwparam_ppc.o fwparam_sysfs.o + + # sources shared with the userspace utils, note we build these separately +diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/dcb_app.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/dcb_app.c +--- open-iscsi-2.0-872-rc4-bnx2i/usr/dcb_app.c 1969-12-31 18:00:00.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/dcb_app.c 2011-02-03 23:54:11.000000000 -0600 +@@ -0,0 +1,246 @@ ++/******************************************************************************* ++ ++ DCB application support ++ Copyright(c) 2007-2010 Intel Corporation. ++ ++ This program is free software; you can redistribute it and/or modify it ++ under the terms and conditions of the GNU General Public License, ++ version 2, as published by the Free Software Foundation. ++ ++ This program is distributed in the hope it will be useful, but WITHOUT ++ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ more details. ++ ++ You should have received a copy of the GNU General Public License along with ++ this program; if not, write to the Free Software Foundation, Inc., ++ 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. ++ ++ The full GNU General Public License is included in this distribution in ++ the file called "COPYING". ++ ++ Contact Information: ++ e1000-eedc Mailing List ++ Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 ++ ++*******************************************************************************/ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "dcb_app.h" ++#include "sysfs.h" ++ ++#define NLA_DATA(nla) ((void *)((char*)(nla) + NLA_HDRLEN)) ++ ++/* Maximum size of response requested or message sent */ ++#define MAX_MSG_SIZE 1024 ++ ++static struct nlmsghdr *start_dcbmsg(__u16 msg_type, __u8 arg) ++{ ++ struct nlmsghdr *nlh; ++ struct dcbmsg *d; ++ ++ nlh = malloc(MAX_MSG_SIZE); ++ if (!nlh) ++ return NULL; ++ memset(nlh, 0, MAX_MSG_SIZE); ++ nlh->nlmsg_type = msg_type; ++ nlh->nlmsg_flags = NLM_F_REQUEST; ++ nlh->nlmsg_seq = 0; ++ nlh->nlmsg_pid = getpid(); ++ if (msg_type != RTM_GETDCB) { ++ free(nlh); ++ return NULL; ++ } ++ ++ nlh->nlmsg_len = NLMSG_LENGTH(sizeof(struct dcbmsg)); ++ d = NLMSG_DATA(nlh); ++ d->cmd = arg; ++ d->dcb_family = AF_UNSPEC; ++ d->dcb_pad = 0; ++ ++ return nlh; ++} ++ ++static struct rtattr *add_rta(struct nlmsghdr *nlh, __u16 rta_type, ++ void *attr, __u16 rta_len) ++{ ++ struct rtattr *rta; ++ ++ rta = (struct rtattr *)((char *)nlh + nlh->nlmsg_len); ++ rta->rta_type = rta_type; ++ rta->rta_len = rta_len + NLA_HDRLEN; ++ if (attr) ++ memcpy(NLA_DATA(rta), attr, rta_len); ++ nlh->nlmsg_len += NLMSG_ALIGN(rta->rta_len); ++ ++ return rta; ++} ++ ++static int dcbnl_send_msg(int nl_sd, struct nlmsghdr *nlh) ++{ ++ struct sockaddr_nl nladdr; ++ void *buf = nlh; ++ int r, len = nlh->nlmsg_len; ++ ++ memset(&nladdr, 0, sizeof(nladdr)); ++ nladdr.nl_family = AF_NETLINK; ++ ++ do { ++ r = sendto(nl_sd, buf, len, 0, (struct sockaddr *)&nladdr, ++ sizeof(nladdr)); ++ } while (r < 0 && errno == EINTR); ++ ++ if (r < 0) ++ return 1; ++ ++ return 0; ++} ++ ++static struct nlmsghdr *dcbnl_get_msg(int nl_sd) ++{ ++ struct nlmsghdr *nlh; ++ int len; ++ ++ nlh = malloc(MAX_MSG_SIZE); ++ if (!nlh) ++ return NULL; ++ memset(nlh, 0, MAX_MSG_SIZE); ++ ++ len = recv(nl_sd, (void *)nlh, MAX_MSG_SIZE, 0); ++ ++ if (len < 0 || nlh->nlmsg_type == NLMSG_ERROR || ++ !NLMSG_OK(nlh, (unsigned int)len)) { ++ free(nlh); ++ return NULL; ++ } ++ ++ return nlh; ++} ++ ++static int get_app_cfg(const char *ifname, __u8 req_idtype, __u16 req_id) ++{ ++ struct nlmsghdr *nlh; ++ struct dcbmsg *d; ++ struct rtattr *rta_parent, *rta_child; ++ int rval = 0; ++ int nl_sd; ++ unsigned int seq; ++ __u8 idtype; ++ __u16 id; ++ ++ nlh = start_dcbmsg(RTM_GETDCB, DCB_CMD_GAPP); ++ if (!nlh) ++ return -EIO; ++ ++ seq = nlh->nlmsg_seq; ++ add_rta(nlh, DCB_ATTR_IFNAME, (void *)ifname, strlen(ifname) + 1); ++ rta_parent = add_rta(nlh, DCB_ATTR_APP, NULL, 0); ++ ++ rta_child = add_rta(nlh, DCB_APP_ATTR_IDTYPE, ++ (void *)&req_idtype, sizeof(__u8)); ++ rta_parent->rta_len += NLA_ALIGN(rta_child->rta_len); ++ ++ rta_child = add_rta(nlh, DCB_APP_ATTR_ID, ++ (void *)&req_id, sizeof(__u16)); ++ rta_parent->rta_len += NLA_ALIGN(rta_child->rta_len); ++ ++ nl_sd = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE); ++ if (nl_sd < 0) ++ return nl_sd; ++ ++ rval = dcbnl_send_msg(nl_sd, nlh); ++ free(nlh); ++ if (rval) { ++ close(nl_sd); ++ return -EIO; ++ } ++ ++ nlh = dcbnl_get_msg(nl_sd); ++ close(nl_sd); ++ if (!nlh) ++ return -EIO; ++ ++ d = (struct dcbmsg *)NLMSG_DATA(nlh); ++ rta_parent = (struct rtattr *)(((char *)d) + ++ NLMSG_ALIGN(sizeof(struct dcbmsg))); ++ ++ if (d->cmd != DCB_CMD_GAPP) { ++ rval = -EIO; ++ goto get_error; ++ } ++ if (rta_parent->rta_type != DCB_ATTR_APP) { ++ rval = -EIO; ++ goto get_error; ++ } ++ ++ rta_child = NLA_DATA(rta_parent); ++ rta_parent = (struct rtattr *)((char *)rta_parent + ++ NLMSG_ALIGN(rta_parent->rta_len)); ++ ++ idtype = *(__u8 *)NLA_DATA(rta_child); ++ rta_child = (struct rtattr *)((char *)rta_child + ++ NLMSG_ALIGN(rta_child->rta_len)); ++ if (idtype != req_idtype) { ++ rval = -EIO; ++ goto get_error; ++ } ++ ++ id = *(__u16 *)NLA_DATA(rta_child); ++ rta_child = (struct rtattr *)((char *)rta_child + ++ NLMSG_ALIGN(rta_child->rta_len)); ++ if (id != req_id) { ++ rval = -EIO; ++ goto get_error; ++ } ++ ++ rval = *(__u8 *)NLA_DATA(rta_child); ++ rta_child = (struct rtattr *)((char *)rta_child + ++ NLMSG_ALIGN(rta_child->rta_len)); ++ ++get_error: ++ free(nlh); ++ return rval; ++} ++ ++static int get_link_ifname(const char *ifname, char *link_ifname) ++{ ++ int ifindex; ++ ++ if (sysfs_get_int(ifname, "net", "iflink", &ifindex)) ++ return -EIO; ++ ++ if (!if_indextoname(ifindex, link_ifname)) ++ return -ENODEV; ++ ++ return 0; ++} ++ ++int get_dcb_app_pri_by_port(const char *ifname, int port) ++{ ++ char link_ifname[IFNAMSIZ]; ++ ++ if (get_link_ifname(ifname, link_ifname)) ++ return 0; ++ ++ return get_app_cfg(link_ifname, DCB_APP_IDTYPE_PORTNUM, port); ++} ++ ++int get_dcb_app_pri_by_ethtype(const char *ifname, int ethtype) ++{ ++ char link_ifname[IFNAMSIZ]; ++ ++ if (get_link_ifname(ifname, link_ifname)) ++ return 0; ++ ++ return get_app_cfg(link_ifname, DCB_APP_IDTYPE_ETHTYPE, ethtype); ++} +diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/dcb_app.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/dcb_app.h +--- open-iscsi-2.0-872-rc4-bnx2i/usr/dcb_app.h 1969-12-31 18:00:00.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/dcb_app.h 2011-02-03 23:54:07.000000000 -0600 +@@ -0,0 +1,34 @@ ++/******************************************************************************* ++ ++ DCB application support ++ Copyright(c) 2007-2010 Intel Corporation. ++ ++ This program is free software; you can redistribute it and/or modify it ++ under the terms and conditions of the GNU General Public License, ++ version 2, as published by the Free Software Foundation. ++ ++ This program is distributed in the hope it will be useful, but WITHOUT ++ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ more details. ++ ++ You should have received a copy of the GNU General Public License along with ++ this program; if not, write to the Free Software Foundation, Inc., ++ 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. ++ ++ The full GNU General Public License is included in this distribution in ++ the file called "COPYING". ++ ++ Contact Information: ++ e1000-eedc Mailing List ++ Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 ++ ++*******************************************************************************/ ++ ++#ifndef _DCB_APP_H_ ++#define _DCB_APP_H_ ++ ++int get_dcb_app_pri_by_port(const char *iface, int port); ++int get_dcb_app_pri_by_ethtype(const char *iface, int ethtype); ++ ++#endif /* _DCB_APP_H_ */ +diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/io.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/io.c +--- open-iscsi-2.0-872-rc4-bnx2i/usr/io.c 2011-02-04 00:02:19.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/io.c 2011-02-03 23:54:15.000000000 -0600 +@@ -26,11 +26,14 @@ + #include + #include + #include ++#include ++#include + #include + #include + + #include "types.h" + #include "iscsi_proto.h" ++#include "iscsi_settings.h" + #include "initiator.h" + #include "iscsi_ipc.h" + #include "log.h" +@@ -38,6 +41,7 @@ + #include "idbm.h" + #include "iface.h" + #include "sysdeps.h" ++#include "dcb_app.h" + + #define LOG_CONN_CLOSED(conn) \ + do { \ +@@ -53,6 +57,13 @@ do { \ + log_error("Connection to Discovery Address %s failed", conn->host); \ + } while (0) + ++union sockaddr_u { ++ struct sockaddr_storage ss; ++ struct sockaddr sa; ++ struct sockaddr_in si; ++ struct sockaddr_in6 si6; ++}; ++ + static int timedout; + + static void +@@ -76,6 +87,90 @@ set_non_blocking(int fd) + + } + ++static int select_priority(struct iscsi_conn *conn, int pri_mask) ++{ ++ int msk; ++ ++ if (!pri_mask) ++ return 0; ++ ++ /* ++ * TODO: Configure priority selection from the mask ++ * For now, just always take the highest ++ */ ++ ++ /* Find highest bit set */ ++ while ((msk = pri_mask & (pri_mask - 1))) ++ pri_mask = msk; ++ ++ return ffs(pri_mask) - 1; ++} ++ ++static int ++inet_cmp_addr(const union sockaddr_u *s1, const union sockaddr_u *s2) ++{ ++ const struct sockaddr_in *si1 = &s1->si; ++ const struct sockaddr_in *si2 = &s2->si; ++ ++ return si1->sin_addr.s_addr != si2->sin_addr.s_addr; ++} ++ ++static int ++inet6_cmp_addr(const union sockaddr_u *s1, const union sockaddr_u *s2) ++{ ++ const struct sockaddr_in6 *si1 = &s1->si6; ++ const struct sockaddr_in6 *si2 = &s2->si6; ++ ++ return memcmp(&si1->sin6_addr, &si2->sin6_addr, sizeof(si1->sin6_addr)); ++} ++ ++static char * ++find_ifname(const struct ifaddrs *ifa, const union sockaddr_u *ss) ++{ ++ for (; ifa; ifa = ifa->ifa_next) { ++ if (ss->ss.ss_family != ifa->ifa_addr->sa_family) ++ continue; ++ switch (ss->ss.ss_family) { ++ case AF_INET: ++ if (inet_cmp_addr(ss, (union sockaddr_u *)ifa->ifa_addr) == 0) ++ return ifa->ifa_name; ++ break; ++ case AF_INET6: ++ if (inet6_cmp_addr(ss, (union sockaddr_u *)ifa->ifa_addr) == 0) ++ return ifa->ifa_name; ++ break; ++ } ++ } ++ ++ return NULL; ++} ++ ++static void set_dcb_priority(struct iscsi_conn *conn, const char *devname) ++{ ++ int pri_mask = 0; ++ ++ pri_mask = get_dcb_app_pri_by_port(devname, ISCSI_DEFAULT_PORT); ++ if (pri_mask < 0) ++ log_debug(2, "Getting priority for %s returned %d", ++ devname, pri_mask); ++ else if (pri_mask == 0) ++ log_debug(2, "No priority for %s", devname); ++ else { ++ int pri = select_priority(conn, pri_mask); ++ int rc; ++ ++ log_debug(1, "Setting socket %d priority to %d", ++ conn->socket_fd, pri); ++ rc = setsockopt(conn->socket_fd, SOL_SOCKET, ++ SO_PRIORITY, &pri, sizeof(pri)); ++ if (rc < 0) { ++ log_warning("Setting socket %d priority to %d failed " ++ "with errno %d", conn->socket_fd, ++ pri, errno); ++ } ++ } ++} ++ + #if 0 + /* not used by anyone */ + static int get_hwaddress_from_netdev(char *netdev, char *hwaddress) +@@ -320,6 +415,10 @@ iscsi_io_tcp_connect(iscsi_conn_t *conn, + log_debug(1, "connecting to %s:%s", conn->host, serv); + if (non_blocking) + set_non_blocking(conn->socket_fd); ++ ++ if (conn->session->netdev[0]) ++ set_dcb_priority(conn, conn->session->netdev); ++ + rc = connect(conn->socket_fd, (struct sockaddr *) ss, sizeof (*ss)); + return rc; + } +@@ -368,8 +467,9 @@ iscsi_io_tcp_poll(iscsi_conn_t *conn, in + } + + len = sizeof(ss); +- if (log_level > 0 && +- getsockname(conn->socket_fd, (struct sockaddr *) &ss, &len) >= 0) { ++ if (log_level > 0 || !conn->session->netdev) ++ rc = getsockname(conn->socket_fd, (struct sockaddr *)&ss, &len); ++ if (log_level > 0 && rc >= 0) { + getnameinfo((struct sockaddr *) &conn->saddr, + sizeof(conn->saddr), conn->host, + sizeof(conn->host), serv, sizeof(serv), +@@ -381,6 +481,22 @@ iscsi_io_tcp_poll(iscsi_conn_t *conn, in + log_debug(1, "connected local port %s to %s:%s", + lserv, conn->host, serv); + } ++ ++ if (!conn->session->netdev[0] && rc >= 0) { ++ struct ifaddrs *ifa; ++ char *ifname; ++ ++ rc = getifaddrs(&ifa); ++ if (rc < 0) ++ log_error("getifaddrs failed with %d\n", errno); ++ else { ++ ifname = find_ifname(ifa, (union sockaddr_u *)&ss); ++ if (ifname) ++ set_dcb_priority(conn, ifname); ++ freeifaddrs(ifa); ++ } ++ } ++ + return 1; + } + +diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/Makefile open-iscsi-2.0-872-rc4-bnx2i.work/usr/Makefile +--- open-iscsi-2.0-872-rc4-bnx2i/usr/Makefile 2011-02-04 00:02:19.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/Makefile 2011-02-03 23:54:31.000000000 -0600 +@@ -21,10 +21,12 @@ ifeq ($(OSNAME),Linux) + endif + endif + IPC_OBJ=netlink.o ++DCB_OBJ=dcb_app.o + else + ifeq ($(OSNAME),FreeBSD) + IPC_CFLAGS= + IPC_OBJ=ioctl.o ++DCB_OBJ= + endif + endif + +@@ -40,7 +42,7 @@ SYSDEPS_SRCS = $(wildcard ../utils/sysde + ISCSI_LIB_SRCS = iscsi_util.o io.o auth.o iscsi_timer.o login.o log.o md5.o \ + sha1.o iface.o idbm.o sysfs.o host.o session_info.o iscsi_sysfs.o \ + iscsi_net_util.o iscsid_req.o transport.o cxgbi.o be2iscsi.o \ +- initiator_common.o iscsi_err.o uip_mgmt_ipc.o $(IPC_OBJ) $(SYSDEPS_SRCS) ++ initiator_common.o iscsi_err.o uip_mgmt_ipc.o $(DCB_OBJ) $(IPC_OBJ) $(SYSDEPS_SRCS) + # core initiator files + INITIATOR_SRCS = initiator.o scsi.o actor.o event_poll.o mgmt_ipc.o + +diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/Makefile.orig open-iscsi-2.0-872-rc4-bnx2i.work/usr/Makefile.orig +--- open-iscsi-2.0-872-rc4-bnx2i/usr/Makefile.orig 1969-12-31 18:00:00.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/Makefile.orig 2011-02-03 23:53:53.000000000 -0600 +@@ -0,0 +1,71 @@ ++# This Makefile will work only with GNU make. ++ ++OSNAME=$(shell uname -s) ++ ++# allow users to override these ++# eg to compile for a kernel that you aren't currently running ++KERNELRELEASE ?= $(shell uname -r) ++KSRC ?= /lib/modules/$(KERNELRELEASE)/build ++ ++KSUBLEVEL=$(shell cat $(KSRC)/Makefile | awk -F= '/^SUBLEVEL =/ {print $$2}' | \ ++ sed 's/^[ \t]*//;s/[ \t]*$$//') ++ ++ifeq ($(OSNAME),Linux) ++ ifeq ($(KSUBLEVEL),11) ++ IPC_CFLAGS=-DNETLINK_ISCSI=12 -D_GNU_SOURCE ++ else ++ ifeq ($(KSUBLEVEL),12) ++ IPC_CFLAGS=-DNETLINK_ISCSI=12 -D_GNU_SOURCE ++ else ++ IPC_CFLAGS=-DNETLINK_ISCSI=8 -D_GNU_SOURCE ++ endif ++ endif ++IPC_OBJ=netlink.o ++else ++ifeq ($(OSNAME),FreeBSD) ++IPC_CFLAGS= ++IPC_OBJ=ioctl.o ++endif ++endif ++ ++OPTFLAGS ?= -O2 -g ++WARNFLAGS ?= -Wall -Wstrict-prototypes ++CFLAGS += $(OPTFLAGS) $(WARNFLAGS) -I../include -I. -I../utils/open-isns \ ++ -D$(OSNAME) $(IPC_CFLAGS) -DISNS_ENABLE ++PROGRAMS = iscsid iscsiadm iscsistart ++ ++# libc compat files ++SYSDEPS_SRCS = $(wildcard ../utils/sysdeps/*.o) ++# sources shared between iscsid, iscsiadm and iscsistart ++ISCSI_LIB_SRCS = iscsi_util.o io.o auth.o iscsi_timer.o login.o log.o md5.o \ ++ sha1.o iface.o idbm.o sysfs.o host.o session_info.o iscsi_sysfs.o \ ++ iscsi_net_util.o iscsid_req.o transport.o cxgbi.o be2iscsi.o \ ++ initiator_common.o iscsi_err.o uip_mgmt_ipc.o $(IPC_OBJ) $(SYSDEPS_SRCS) ++# core initiator files ++INITIATOR_SRCS = initiator.o scsi.o actor.o event_poll.o mgmt_ipc.o ++ ++# fw boot files ++FW_BOOT_SRCS = $(wildcard ../utils/fwparam_ibft/*.o) ++ ++# core discovery files ++DISCOVERY_SRCS = $(FW_BOOT_SRCS) strings.o discovery.o ++ ++all: $(PROGRAMS) ++ ++iscsid: $(ISCSI_LIB_SRCS) $(INITIATOR_SRCS) $(DISCOVERY_SRCS) \ ++ iscsid.o session_mgmt.o discoveryd.o ++ $(CC) $(CFLAGS) $^ -o $@ -L../utils/open-isns -lisns ++ ++iscsiadm: $(ISCSI_LIB_SRCS) $(DISCOVERY_SRCS) iscsiadm.o session_mgmt.o ++ $(CC) $(CFLAGS) $^ -o $@ -L../utils/open-isns -lisns ++ ++iscsistart: $(ISCSI_LIB_SRCS) $(INITIATOR_SRCS) $(FW_BOOT_SRCS) \ ++ iscsistart.o statics.o ++ $(CC) $(CFLAGS) $^ -o $@ ++clean: ++ rm -f *.o $(PROGRAMS) .depend $(LIBSYS) ++ ++depend: ++ gcc $(CFLAGS) -M `ls *.c` > .depend ++ ++-include .depend +diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/sysfs.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/sysfs.c +--- open-iscsi-2.0-872-rc4-bnx2i/usr/sysfs.c 2011-02-04 00:02:19.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/sysfs.c 2011-02-03 23:54:03.000000000 -0600 +@@ -547,7 +547,7 @@ found: + } + + +-char *sysfs_get_value(char *id, char *subsys, char *param) ++char *sysfs_get_value(const char *id, char *subsys, char *param) + { + char devpath[PATH_SIZE]; + char *sysfs_value; +@@ -590,7 +590,7 @@ int sysfs_get_uint(char *id, char *subsy + return 0; + } + +-int sysfs_get_int(char *id, char *subsys, char *param, int *value) ++int sysfs_get_int(const char *id, char *subsys, char *param, int *value) + { + char *sysfs_value; + +diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/sysfs.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/sysfs.h +--- open-iscsi-2.0-872-rc4-bnx2i/usr/sysfs.h 2011-02-04 00:02:19.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/sysfs.h 2011-02-03 23:54:03.000000000 -0600 +@@ -51,10 +51,10 @@ extern char *sysfs_attr_get_value(const + extern int sysfs_resolve_link(char *path, size_t size); + extern int sysfs_lookup_devpath_by_subsys_id(char *devpath, size_t len, const char *subsystem, const char *id); + +-extern char *sysfs_get_value(char *id, char *subsys, char *param); ++extern char *sysfs_get_value(const char *id, char *subsys, char *param); + extern int sysfs_get_uint(char *id, char *subsys, char *param, + unsigned int *value); +-extern int sysfs_get_int(char *id, char *subsys, char *param, int *value); ++extern int sysfs_get_int(const char *id, char *subsys, char *param, int *value); + extern int sysfs_get_str(char *id, char *subsys, char *param, char *value, + int value_size); + extern int sysfs_get_uint64(char *id, char *subsys, char *param, diff --git a/iscsi-initiator-utils-sync-iscsi.patch b/iscsi-initiator-utils-sync-iscsi.patch index 39d6c07..f2e3db3 100644 --- a/iscsi-initiator-utils-sync-iscsi.patch +++ b/iscsi-initiator-utils-sync-iscsi.patch @@ -1,6 +1,6 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/Changelog open-iscsi-2.0-872-rc4-bnx2i.work/Changelog --- open-iscsi-2.0-872-rc4-bnx2i/Changelog 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/Changelog 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/Changelog 2011-02-03 20:14:23.000000000 -0600 @@ -1,132 +1,114 @@ -open-iscsi-2.0-871 - open-iscsi-2.0.870 +open-iscsi-2.0-872 - open-iscsi-2.0.871 @@ -245,7 +245,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/Changelog open-iscsi-2.0-872-rc4-bnx2i. diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/doc/iscsiadm.8 open-iscsi-2.0-872-rc4-bnx2i.work/doc/iscsiadm.8 --- open-iscsi-2.0-872-rc4-bnx2i/doc/iscsiadm.8 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/doc/iscsiadm.8 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/doc/iscsiadm.8 2011-02-03 20:14:23.000000000 -0600 @@ -49,7 +49,13 @@ print debugging information. Valid value display help text and exit @@ -416,7 +416,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/doc/iscsiadm.8 open-iscsi-2.0-872-rc4-b .nf diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/etc/initd/initd.suse open-iscsi-2.0-872-rc4-bnx2i.work/etc/initd/initd.suse --- open-iscsi-2.0-872-rc4-bnx2i/etc/initd/initd.suse 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/etc/initd/initd.suse 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/etc/initd/initd.suse 2011-02-03 20:14:23.000000000 -0600 @@ -30,7 +30,7 @@ iscsi_login_all_nodes() { echo -n "Setting up iSCSI targets: " @@ -437,7 +437,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/etc/initd/initd.suse open-iscsi-2.0-872 RETVAL=1 diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/include/iscsi_err.h open-iscsi-2.0-872-rc4-bnx2i.work/include/iscsi_err.h --- open-iscsi-2.0-872-rc4-bnx2i/include/iscsi_err.h 1969-12-31 18:00:00.000000000 -0600 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/include/iscsi_err.h 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/include/iscsi_err.h 2011-02-03 20:14:23.000000000 -0600 @@ -0,0 +1,69 @@ +/* + * Return codes used by iSCSI tools. @@ -510,7 +510,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/include/iscsi_err.h open-iscsi-2.0-872- +#endif diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/include/iscsi_if.h open-iscsi-2.0-872-rc4-bnx2i.work/include/iscsi_if.h --- open-iscsi-2.0-872-rc4-bnx2i/include/iscsi_if.h 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/include/iscsi_if.h 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/include/iscsi_if.h 2011-02-03 20:14:23.000000000 -0600 @@ -65,6 +65,8 @@ enum iscsi_uevent_e { ISCSI_UEVENT_PATH_UPDATE = UEVENT_BASE + 20, @@ -540,7 +540,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/include/iscsi_if.h open-iscsi-2.0-872-r #define CAP_SENDTARGETS_OFFLOAD 0x400 /* offload discovery process */ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/actor.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/actor.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/actor.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/actor.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/actor.c 2011-02-03 20:14:23.000000000 -0600 @@ -113,14 +113,13 @@ actor_schedule_private(actor_t *thread, * state to scheduled, else add current time to ttschedule and * insert in the queue at the correct point */ @@ -564,7 +564,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/actor.c open-iscsi-2.0-872-rc4-bnx2 if (head) diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/config.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/config.h --- open-iscsi-2.0-872-rc4-bnx2i/usr/config.h 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/config.h 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/config.h 2011-02-03 20:14:23.000000000 -0600 @@ -141,7 +141,8 @@ struct iscsi_sendtargets_config { int discoveryd_poll_inval; struct iscsi_auth_config auth; @@ -617,7 +617,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/cxgb3i.h open-iscsi-2.0-872-rc4-bnx -#endif diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/cxgbi.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/cxgbi.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/cxgbi.c 1969-12-31 18:00:00.000000000 -0600 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/cxgbi.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/cxgbi.c 2011-02-03 20:14:23.000000000 -0600 @@ -0,0 +1,24 @@ +/* + * cxgb3i/cxgb4i helpers @@ -645,7 +645,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/cxgbi.c open-iscsi-2.0-872-rc4-bnx2 +} diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/cxgbi.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/cxgbi.h --- open-iscsi-2.0-872-rc4-bnx2i/usr/cxgbi.h 1969-12-31 18:00:00.000000000 -0600 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/cxgbi.h 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/cxgbi.h 2011-02-03 20:14:23.000000000 -0600 @@ -0,0 +1,8 @@ +#ifndef CXGBI_TRANSPORT +#define CXGBI_TRANSPORT @@ -657,7 +657,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/cxgbi.h open-iscsi-2.0-872-rc4-bnx2 +#endif diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/discovery.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/discovery.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/discovery.c 2011-02-03 20:14:32.000000000 -0600 @@ -43,6 +43,12 @@ #include "fw_context.h" #include "iscsid_req.h" @@ -947,7 +947,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- num_targets++; record = NULL; str_truncate_buffer(sendtargets, 0); -@@ -792,110 +788,42 @@ process_sendtargets_response(struct str_ +@@ -792,110 +788,47 @@ process_sendtargets_response(struct str_ return 1; } @@ -960,7 +960,8 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- -/* set timer to now + seconds */ -static void -set_timer(struct timeval *timer, int seconds) --{ ++static void iscsi_free_session(struct iscsi_session *session) + { - if (timer) { - memset(timer, 0, sizeof (*timer)); - gettimeofday(timer, NULL); @@ -990,8 +991,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- - -static int -msecs_until(struct timeval *timer) -+static void iscsi_free_session(struct iscsi_session *session) - { +-{ - struct timeval now; - int msecs; - long partial; @@ -1029,22 +1029,28 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- -init_new_session(struct iscsi_sendtargets_config *config, - struct iface_rec *iface) +iscsi_alloc_session(struct iscsi_sendtargets_config *config, -+ struct iface_rec *iface) ++ struct iface_rec *iface, int *rc) { iscsi_session_t *session; ++ *rc = 0; ++ session = calloc(1, sizeof (*session)); - if (session == NULL) +- if (session == NULL) - goto done; ++ if (session == NULL) { ++ *rc = ISCSI_ERR_NOMEM; + return NULL; - ++ } ++ + session->t = iscsi_sysfs_get_transport_by_name(iface->transport_name); + if (!session->t) { + log_error("iSCSI driver %s is not loaded. Load the module " + "then retry the command.\n", iface->transport_name); ++ *rc = ISCSI_ERR_TRANS_NOT_FOUND; + goto fail; + } -+ + + INIT_LIST_HEAD(&session->list); /* initialize the session's leading connection */ + session->conn[0].id = 0; @@ -1078,12 +1084,13 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- /* OUI and uniqifying number */ session->isid[0] = DRIVER_ISID_0; -@@ -914,102 +842,27 @@ init_new_session(struct iscsi_sendtarget +@@ -914,102 +847,29 @@ init_new_session(struct iscsi_sendtarget if (initiator_name[0] == '\0') { log_error("Cannot perform discovery. Initiatorname " "required."); - free(session); - return NULL; ++ *rc = ISCSI_ERR_INVAL; + goto fail; } } @@ -1104,10 +1111,10 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- - struct iscsi_sendtargets_config *config) -{ - int rc; -- -- rc = 1; + session->id = -1; +- rc = 1; +- - /* if we have any incoming credentials, we insist on authenticating - * the target or not logging in at all - */ @@ -1134,7 +1141,8 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- - session->bidirectional_auth = 0; - } + /* setup authentication variables for the session*/ -+ if (iscsi_setup_authentication(session, &config->auth)) ++ *rc = iscsi_setup_authentication(session, &config->auth); ++ if (*rc) + goto fail; - /* copy in whatever credentials we have */ @@ -1192,7 +1200,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- } static int -@@ -1018,7 +871,6 @@ process_recvd_pdu(struct iscsi_hdr *pdu, +@@ -1018,7 +878,6 @@ process_recvd_pdu(struct iscsi_hdr *pdu, struct list_head *rec_list, iscsi_session_t *session, struct str_buffer *sendtargets, @@ -1200,7 +1208,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- int *active, int *valid_text, char *data) -@@ -1063,8 +915,7 @@ process_recvd_pdu(struct iscsi_hdr *pdu, +@@ -1063,8 +922,7 @@ process_recvd_pdu(struct iscsi_hdr *pdu, process_sendtargets_response(sendtargets, final, drec, @@ -1210,7 +1218,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- if (final) { /* SendTargets exchange is now complete -@@ -1096,11 +947,9 @@ process_recvd_pdu(struct iscsi_hdr *pdu, +@@ -1096,11 +954,9 @@ process_recvd_pdu(struct iscsi_hdr *pdu, } /* @@ -1224,7 +1232,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- { struct iscsi_logout logout_req; struct iscsi_logout_rsp logout_resp; -@@ -1128,7 +977,7 @@ iscsi_logout_and_disconnect(iscsi_sessio +@@ -1128,7 +984,7 @@ iscsi_logout_and_disconnect(iscsi_sessio if (!rc) { log_error( "iscsid: iscsi_logout - failed to send logout PDU."); @@ -1233,7 +1241,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- } /* -@@ -1138,117 +987,278 @@ iscsi_logout_and_disconnect(iscsi_sessio +@@ -1138,117 +994,278 @@ iscsi_logout_and_disconnect(iscsi_sessio rc = iscsi_io_recv_pdu(&session->conn[0], (struct iscsi_hdr *)&logout_resp, ISCSI_DIGEST_NONE, NULL, 0, ISCSI_DIGEST_NONE, 1); @@ -1248,7 +1256,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- logout_resp.response); } +} -+ + +static void iscsi_destroy_session(struct iscsi_session *session) +{ + struct iscsi_transport *t = session->t; @@ -1282,7 +1290,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- + session->id, conn->id, rc); + goto done; + } - ++ + log_debug(2, "%s destroy session", __FUNCTION__); + rc = ipc->destroy_session(session->t->handle, session->id); + if (rc) @@ -1583,7 +1591,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- /* slowly back off the frequency of login attempts */ if (login_failures == 0) login_delay = 0; -@@ -1263,47 +1273,44 @@ redirect_reconnect: +@@ -1263,47 +1280,44 @@ redirect_reconnect: else login_delay = 60; /* after 2 minutes, try once a minute */ @@ -1654,7 +1662,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- case LOGIN_OK: case LOGIN_REDIRECT: break; -@@ -1311,8 +1318,7 @@ redirect_reconnect: +@@ -1311,8 +1325,7 @@ redirect_reconnect: case LOGIN_IO_ERROR: case LOGIN_REDIRECTION_FAILED: /* try again */ @@ -1664,7 +1672,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- login_failures++; goto set_address; -@@ -1322,16 +1328,16 @@ redirect_reconnect: +@@ -1322,16 +1335,16 @@ redirect_reconnect: case LOGIN_AUTHENTICATION_FAILED: case LOGIN_VERSION_MISMATCH: case LOGIN_INVALID_PDU: @@ -1686,7 +1694,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- login_failures = 0; break; case ISCSI_STATUS_CLS_REDIRECT: -@@ -1343,14 +1349,16 @@ redirect_reconnect: +@@ -1343,14 +1356,16 @@ redirect_reconnect: case ISCSI_LOGIN_STATUS_TGT_MOVED_TEMP: log_warning( "discovery login temporarily redirected to " @@ -1706,7 +1714,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- goto redirect_reconnect; default: log_error( -@@ -1361,32 +1369,134 @@ redirect_reconnect: +@@ -1361,32 +1376,130 @@ redirect_reconnect: } break; case ISCSI_STATUS_CLS_INITIATOR_ERR: @@ -1792,7 +1800,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- + int active = 0, valid_text = 0; + struct timeval connection_timer; + int timeout; -+ int rc; ++ int rc = 0; + struct str_buffer sendtargets; + unsigned int data_len; + struct iscsi_sendtargets_config *config = &drec->u.sendtargets; @@ -1804,13 +1812,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- + iscsi_timer_clear(&connection_timer); + + /* allocate a new session, and initialize default values */ -+ session = iscsi_alloc_session(config, iface); -+ if (session == NULL) { -+ log_error("Discovery process to %s:%d failed to " -+ "create a discovery session.", -+ drec->address, drec->port); -+ return ISCSI_ERR_NOMEM; -+ } ++ session = iscsi_alloc_session(config, iface, &rc); ++ if (rc) ++ return rc; + + ipc_ev_context.conn = &session->conn[0]; + ipc_register_ev_callback(&ipc_clbk); @@ -1852,7 +1856,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- /* reinitialize */ str_truncate_buffer(&sendtargets, 0); -@@ -1397,7 +1507,7 @@ redirect_reconnect: +@@ -1397,7 +1510,7 @@ redirect_reconnect: active = 1; /* set timeouts */ @@ -1861,7 +1865,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- /* prepare to poll */ memset(&pfd, 0, sizeof (pfd)); -@@ -1405,7 +1515,7 @@ redirect_reconnect: +@@ -1405,7 +1518,7 @@ redirect_reconnect: pfd.events = POLLIN | POLLPRI; repoll: @@ -1870,7 +1874,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- /* block until we receive a PDU, a TCP FIN, a TCP RST, * or a timeout */ -@@ -1422,31 +1532,30 @@ repoll: +@@ -1422,31 +1535,30 @@ repoll: "discovery process to %s:%d returned from poll, rc %d", drec->address, drec->port, rc); @@ -1915,7 +1919,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- goto free_sendtargets; } -@@ -1455,14 +1564,13 @@ repoll: +@@ -1455,14 +1567,13 @@ repoll: */ rc = process_recvd_pdu(pdu, drec, rec_list, session, &sendtargets, @@ -1931,7 +1935,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- session->conn[0].active_timeout); goto repoll; } -@@ -1472,8 +1580,7 @@ repoll: +@@ -1472,8 +1583,7 @@ repoll: log_warning("discovery session to %s:%d " "terminating after hangup", drec->address, drec->port); @@ -1941,7 +1945,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- goto free_sendtargets; } -@@ -1489,18 +1596,9 @@ repoll: +@@ -1489,18 +1599,9 @@ repoll: goto reconnect; } } else if (rc < 0) { @@ -1963,7 +1967,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- } log_debug(1, "discovery process to %s:%d exiting", -@@ -1510,8 +1608,9 @@ repoll: +@@ -1510,8 +1611,9 @@ repoll: free_sendtargets: str_free_buffer(&sendtargets); free(data); @@ -1976,7 +1980,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discovery.c open-iscsi-2.0-872-rc4- diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discoveryd.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/discoveryd.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/discoveryd.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/discoveryd.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/discoveryd.c 2011-02-03 20:14:23.000000000 -0600 @@ -44,6 +44,7 @@ #include "isns.h" #include "paths.h" @@ -2222,7 +2226,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/discoveryd.c open-iscsi-2.0-872-rc4 return 0; diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/event_poll.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/event_poll.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/event_poll.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/event_poll.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/event_poll.c 2011-02-03 20:14:23.000000000 -0600 @@ -35,6 +35,7 @@ #include "iscsi_ipc.h" #include "actor.h" @@ -2240,7 +2244,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/event_poll.c open-iscsi-2.0-872-rc4 } diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/host.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/host.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/host.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/host.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/host.c 2011-02-03 20:14:23.000000000 -0600 @@ -33,6 +33,7 @@ #include "transport.h" #include "initiator.h" @@ -2271,7 +2275,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/host.c open-iscsi-2.0-872-rc4-bnx2i } diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/idbm.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/idbm.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.c 2011-02-03 20:14:23.000000000 -0600 @@ -40,6 +40,7 @@ #include "iface.h" #include "sysdeps.h" @@ -2970,7 +2974,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/idbm.c open-iscsi-2.0-872-rc4-bnx2i iface_setup_defaults(&rec->iface); diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/idbm.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.h --- open-iscsi-2.0-872-rc4-bnx2i/usr/idbm.h 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.h 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.h 2011-02-03 20:14:23.000000000 -0600 @@ -93,9 +93,6 @@ struct rec_op_data { node_rec_t *match_rec; idbm_iface_op_fn *fn; @@ -2983,7 +2987,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/idbm.h open-iscsi-2.0-872-rc4-bnx2i extern int idbm_for_each_node(int *found, void *data, diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iface.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/iface.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/iface.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iface.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iface.c 2011-02-03 20:14:23.000000000 -0600 @@ -39,6 +39,7 @@ #include "host.h" #include "fw_context.h" @@ -3142,7 +3146,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iface.c open-iscsi-2.0-872-rc4-bnx2 INIT_LIST_HEAD(&iface_copy->list); diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/initiator.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/initiator.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator.c 2011-02-03 20:14:23.000000000 -0600 @@ -46,6 +46,7 @@ #include "iscsi_settings.h" #include "iface.h" @@ -4701,7 +4705,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/initiator.c open-iscsi-2.0-872-rc4- +} diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/initiator_common.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator_common.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/initiator_common.c 1969-12-31 18:00:00.000000000 -0600 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator_common.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator_common.c 2011-02-03 20:14:23.000000000 -0600 @@ -0,0 +1,601 @@ +/* + * Common code for setting up discovery and normal sessions. @@ -5306,7 +5310,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/initiator_common.c open-iscsi-2.0-8 +} diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/initiator.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator.h --- open-iscsi-2.0-872-rc4-bnx2i/usr/initiator.h 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator.h 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator.h 2011-02-03 20:14:23.000000000 -0600 @@ -67,6 +67,7 @@ typedef enum conn_login_status_e { CONN_LOGIN_RETRY = 3, CONN_LOGIN_IMM_RETRY = 4, @@ -5418,7 +5422,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/initiator.h open-iscsi-2.0-872-rc4- #endif /* INITIATOR_H */ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/io.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/io.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/io.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/io.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/io.c 2011-02-03 20:14:23.000000000 -0600 @@ -401,7 +401,6 @@ iscsi_io_connect(iscsi_conn_t *conn) int rc, ret; struct sigaction action; @@ -5623,7 +5627,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/io.c open-iscsi-2.0-872-rc4-bnx2i.w return h_bytes + ahs_bytes + d_bytes; diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsiadm.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsiadm.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsiadm.c 2011-02-03 20:14:23.000000000 -0600 @@ -48,10 +48,11 @@ #include "session_mgmt.h" #include "iscsid_req.h" @@ -6742,7 +6746,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid.c 2011-02-03 20:14:23.000000000 -0600 @@ -31,6 +31,8 @@ #include #include @@ -6910,7 +6914,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid.c open-iscsi-2.0-872-rc4-bnx actor_init(); diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid.h --- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid.h 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid.h 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid.h 2011-02-03 20:14:23.000000000 -0600 @@ -31,6 +31,5 @@ struct iscsi_daemon_config { char *initiator_alias; }; @@ -6920,7 +6924,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid.h open-iscsi-2.0-872-rc4-bnx #endif /* ISCSID_H */ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid_req.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid_req.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid_req.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid_req.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid_req.c 2011-02-03 20:14:23.000000000 -0600 @@ -31,6 +31,7 @@ #include "mgmt_ipc.h" #include "iscsi_util.h" @@ -7045,7 +7049,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid_req.c open-iscsi-2.0-872-rc4 -} diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid_req.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid_req.h --- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid_req.h 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid_req.h 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid_req.h 2011-02-03 20:14:23.000000000 -0600 @@ -27,7 +27,6 @@ struct node_rec; extern int iscsid_exec_req(struct iscsiadm_req *req, struct iscsiadm_rsp *rsp, @@ -7056,7 +7060,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid_req.h open-iscsi-2.0-872-rc4 extern int iscsid_req_by_rec(int cmd, struct node_rec *rec); diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_err.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_err.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_err.c 1969-12-31 18:00:00.000000000 -0600 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_err.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_err.c 2011-02-03 20:14:23.000000000 -0600 @@ -0,0 +1,72 @@ +/* + * iSCSI error helpers @@ -7132,7 +7136,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_err.c open-iscsi-2.0-872-rc4- +} diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_ipc.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_ipc.h --- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_ipc.h 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_ipc.h 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_ipc.h 2011-02-03 20:14:23.000000000 -0600 @@ -34,6 +34,26 @@ enum { }; @@ -7162,7 +7166,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_ipc.h open-iscsi-2.0-872-rc4- * struct iscsi_ipc - Open-iSCSI Interface for Kernel IPC diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_net_util.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_net_util.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_net_util.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_net_util.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_net_util.c 2011-02-03 20:14:23.000000000 -0600 @@ -41,6 +41,7 @@ struct iscsi_net_driver { static struct iscsi_net_driver net_drivers[] = { #ifdef OFFLOAD_BOOT_SUPPORTED @@ -7173,7 +7177,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_net_util.c open-iscsi-2.0-872 #endif diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsistart.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsistart.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsistart.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsistart.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsistart.c 2011-02-03 20:14:23.000000000 -0600 @@ -47,6 +47,7 @@ #include "iface.h" #include "sysdeps.h" @@ -7338,7 +7342,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsistart.c open-iscsi-2.0-872-rc4 ipc->ctldev_close(); diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_sysfs.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_sysfs.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_sysfs.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_sysfs.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_sysfs.c 2011-02-03 20:14:23.000000000 -0600 @@ -36,6 +36,7 @@ #include "iface.h" #include "session_info.h" @@ -7608,7 +7612,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_sysfs.c open-iscsi-2.0-872-rc snprintf(path_full, sizeof(path_full), "%s%s/device/target%d:0:%d", diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_timer.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_timer.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_timer.c 1969-12-31 18:00:00.000000000 -0600 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_timer.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_timer.c 2011-02-03 20:14:23.000000000 -0600 @@ -0,0 +1,86 @@ +/* + * iSCSI timer @@ -7698,7 +7702,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_timer.c open-iscsi-2.0-872-rc +} diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_timer.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_timer.h --- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_timer.h 1969-12-31 18:00:00.000000000 -0600 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_timer.h 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_timer.h 2011-02-03 20:14:23.000000000 -0600 @@ -0,0 +1,28 @@ +/* + * iSCSI timer @@ -7730,7 +7734,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_timer.h open-iscsi-2.0-872-rc +#endif diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/login.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/login.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/login.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/login.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/login.c 2011-02-03 20:14:23.000000000 -0600 @@ -27,11 +27,14 @@ #include #include @@ -7865,7 +7869,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/login.c open-iscsi-2.0-872-rc4-bnx2 c->ret = LOGIN_OK; diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/Makefile open-iscsi-2.0-872-rc4-bnx2i.work/usr/Makefile --- open-iscsi-2.0-872-rc4-bnx2i/usr/Makefile 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/Makefile 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/Makefile 2011-02-03 20:14:23.000000000 -0600 @@ -37,12 +37,13 @@ PROGRAMS = iscsid iscsiadm iscsistart # libc compat files SYSDEPS_SRCS = $(wildcard ../utils/sysdeps/*.o) @@ -7904,7 +7908,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/Makefile open-iscsi-2.0-872-rc4-bnx clean: diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/mgmt_ipc.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/mgmt_ipc.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/mgmt_ipc.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/mgmt_ipc.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/mgmt_ipc.c 2011-02-03 20:14:23.000000000 -0600 @@ -35,6 +35,7 @@ #include "transport.h" #include "sysdeps.h" @@ -8205,7 +8209,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/mgmt_ipc.c open-iscsi-2.0-872-rc4-b err: diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/mgmt_ipc.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/mgmt_ipc.h --- open-iscsi-2.0-872-rc4-bnx2i/usr/mgmt_ipc.h 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/mgmt_ipc.h 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/mgmt_ipc.h 2011-02-03 20:14:23.000000000 -0600 @@ -26,30 +26,6 @@ #define ISCSIADM_NAMESPACE "ISCSIADM_ABSTRACT_NAMESPACE" #define PEERUSER_MAX 64 @@ -8277,7 +8281,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/mgmt_ipc.h open-iscsi-2.0-872-rc4-b void mgmt_ipc_handle(int accept_fd); diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/netlink.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/netlink.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/netlink.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/netlink.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/netlink.c 2011-02-03 20:14:23.000000000 -0600 @@ -33,7 +33,6 @@ #include "types.h" @@ -8509,7 +8513,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/netlink.c open-iscsi-2.0-872-rc4-bn +} diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/session_info.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/session_info.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/session_info.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/session_info.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/session_info.c 2011-02-03 20:14:23.000000000 -0600 @@ -13,6 +13,7 @@ #include "initiator.h" #include "iface.h" @@ -8547,7 +8551,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/session_info.c open-iscsi-2.0-872-r } diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/session_mgmt.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/session_mgmt.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/session_mgmt.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/session_mgmt.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/session_mgmt.c 2011-02-03 20:14:23.000000000 -0600 @@ -32,6 +32,7 @@ #include "iscsi_sysfs.h" #include "log.h" @@ -8663,7 +8667,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/session_mgmt.c open-iscsi-2.0-872-r } diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/transport.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/transport.c --- open-iscsi-2.0-872-rc4-bnx2i/usr/transport.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/transport.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/transport.c 2011-02-03 20:14:23.000000000 -0600 @@ -25,7 +25,7 @@ #include "log.h" #include "iscsi_util.h" @@ -8710,7 +8714,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/transport.c open-iscsi-2.0-872-rc4- } diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/utils/fwparam_ibft/fw_entry.c open-iscsi-2.0-872-rc4-bnx2i.work/utils/fwparam_ibft/fw_entry.c --- open-iscsi-2.0-872-rc4-bnx2i/utils/fwparam_ibft/fw_entry.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/utils/fwparam_ibft/fw_entry.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/utils/fwparam_ibft/fw_entry.c 2011-02-03 20:14:23.000000000 -0600 @@ -34,6 +34,7 @@ #include "fwparam.h" #include "idbm_fields.h" @@ -8742,7 +8746,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/utils/fwparam_ibft/fw_entry.c open-iscs /** diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/utils/fwparam_ibft/fwparam_ppc.c open-iscsi-2.0-872-rc4-bnx2i.work/utils/fwparam_ibft/fwparam_ppc.c --- open-iscsi-2.0-872-rc4-bnx2i/utils/fwparam_ibft/fwparam_ppc.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/utils/fwparam_ibft/fwparam_ppc.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/utils/fwparam_ibft/fwparam_ppc.c 2011-02-03 20:14:23.000000000 -0600 @@ -30,6 +30,7 @@ #include "iscsi_obp.h" #include "prom_parse.h" @@ -8837,7 +8841,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/utils/fwparam_ibft/fwparam_ppc.c open-i list_add_tail(&context->list, list); diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/utils/fwparam_ibft/fwparam_sysfs.c open-iscsi-2.0-872-rc4-bnx2i.work/utils/fwparam_ibft/fwparam_sysfs.c --- open-iscsi-2.0-872-rc4-bnx2i/utils/fwparam_ibft/fwparam_sysfs.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/utils/fwparam_ibft/fwparam_sysfs.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/utils/fwparam_ibft/fwparam_sysfs.c 2011-02-03 20:14:23.000000000 -0600 @@ -36,6 +36,7 @@ #include "fwparam.h" #include "sysdeps.h" @@ -8949,7 +8953,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/utils/fwparam_ibft/fwparam_sysfs.c open return rc; diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/utils/open-isns/socket.c open-iscsi-2.0-872-rc4-bnx2i.work/utils/open-isns/socket.c --- open-iscsi-2.0-872-rc4-bnx2i/utils/open-isns/socket.c 2010-07-11 04:05:58.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/utils/open-isns/socket.c 2011-01-31 02:26:39.000000000 -0600 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/utils/open-isns/socket.c 2011-02-03 20:14:23.000000000 -0600 @@ -805,7 +805,7 @@ isns_net_stream_xmit(isns_socket_t *sock void isns_net_stream_hup(isns_socket_t *sock) diff --git a/iscsi-initiator-utils.spec b/iscsi-initiator-utils.spec index 0f3fca1..ad6fa89 100644 --- a/iscsi-initiator-utils.spec +++ b/iscsi-initiator-utils.spec @@ -3,7 +3,7 @@ Summary: iSCSI daemon and utility programs Name: iscsi-initiator-utils Version: 6.2.0.872 -Release: 14%{?dist} +Release: 15%{?dist} Source0: http://people.redhat.com/mchristi/iscsi/rhel6.0/source/open-iscsi-2.0-872-rc4-bnx2i.tar.gz Source1: iscsid.init Source2: iscsidevs.init @@ -11,7 +11,7 @@ Source3: 04-iscsi # sync brcm to 0.6.2.13 Patch0: iscsi-initiator-utils-sync-brcm-0.6.2.13.patch -# sync iscsi tools to upstream commit cc425fd44b24d9fda74395951570460fc919d076 +# sync iscsi tools to upstream commit 2e281f047571e9fb99b9b0b11ff479a487a8e6b1 Patch1: iscsi-initiator-utils-sync-iscsi.patch # Add Red Hat specific info to docs. Patch2: iscsi-initiator-utils-update-initscripts-and-docs.patch @@ -39,12 +39,14 @@ Patch12: iscsi-initiator-utils-brcm-man.patch Patch13: iscsi-initiator-utils-disable-dsa-code.patch # support hostnames in node mode Patch14: iscsi-initiator-utils-node-mode-hostname.patch +# DCB iscsi support +Patch15: iscsi-initiator-utils-dcb.patch Group: System Environment/Daemons License: GPLv2+ URL: http://www.open-iscsi.org Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: openssl-devel flex bison python-devel doxygen +BuildRequires: openssl-devel flex bison python-devel doxygen kernel-headers Requires(post): chkconfig Requires(preun): chkconfig /sbin/service @@ -81,6 +83,7 @@ developing applications that use %{name}. %patch12 -p1 -b .brcm-man %patch13 -p1 -b .disable-dsa-code %patch14 -p1 -b .node-mode-hostname +%patch15 -p1 -b .dcb %build cd utils/open-isns @@ -199,7 +202,11 @@ fi %{_includedir}/libiscsi.h %changelog -* Mon Jan 31 2011 Mike Christie 6.2.0.872.14 +* Thu Feb 3 2011 Mike Christie 6.2.0.872.15 +- 640340 fix iscsiadm exit codes. +- 523492 iSCSI DCB support + +* Mon Jan 31 2011 Mike Christie 6.2.0.872.14 - 593269 iscsi was built against libcrypto, but was not using the code so this disabled the building of that code. - 599539 document brcm_iscsiuio options in man page.