From d93ddd5a588801fc9235a6d5f38a14b19a89e97e Mon Sep 17 00:00:00 2001 From: Mike Christie Date: Wed, 28 Mar 2012 17:52:46 -0500 Subject: [PATCH] Resolves: #738192 --- iscsi-initiator-utils-add-rh-ver.patch | 2 +- ...tiator-utils-mod-iface-andport-fixes.patch | 238 ++++++++++-------- iscsi-initiator-utils.spec | 8 +- 3 files changed, 147 insertions(+), 101 deletions(-) diff --git a/iscsi-initiator-utils-add-rh-ver.patch b/iscsi-initiator-utils-add-rh-ver.patch index b94d5fd..e62b168 100644 --- a/iscsi-initiator-utils-add-rh-ver.patch +++ b/iscsi-initiator-utils-add-rh-ver.patch @@ -5,7 +5,7 @@ * some other maintainer could merge a patch without going through us */ -#define ISCSI_VERSION_STR "2.0-872" -+#define ISCSI_VERSION_STR "2.0-872.38.el6" ++#define ISCSI_VERSION_STR "2.0-872.39.el6" #define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version" #endif diff --git a/iscsi-initiator-utils-mod-iface-andport-fixes.patch b/iscsi-initiator-utils-mod-iface-andport-fixes.patch index 792fddc..cc9cd55 100644 --- a/iscsi-initiator-utils-mod-iface-andport-fixes.patch +++ b/iscsi-initiator-utils-mod-iface-andport-fixes.patch @@ -1,6 +1,6 @@ -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/include/iscsi_if.h 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/include/iscsi_if.h 2012-03-28 17:51:03.000000000 -0500 @@ -270,7 +270,8 @@ struct iscsi_uevent { } host_event; struct msg_ping_comp { @@ -32,9 +32,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/include/iscsi_if.h open-iscsi-2.0-872-r #define iscsi_ptr(_handle) ((void*)(unsigned long)_handle) #define iscsi_handle(_ptr) ((uint64_t)(unsigned long)_ptr) -diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/include/iscsi_net_util.h open-iscsi-2.0-872-rc4-bnx2i.work/include/iscsi_net_util.h ---- open-iscsi-2.0-872-rc4-bnx2i/include/iscsi_net_util.h 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/include/iscsi_net_util.h 2012-03-22 23:19:51.000000000 -0500 +diff -aurp open-iscsi-2.0-872-rc4-bnx2i/include/iscsi_net_util.h open-iscsi-2.0-872-rc4-bnx2i.work/include/iscsi_net_util.h +--- open-iscsi-2.0-872-rc4-bnx2i/include/iscsi_net_util.h 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/include/iscsi_net_util.h 2012-03-28 17:51:03.000000000 -0500 @@ -7,5 +7,6 @@ extern int net_get_transport_name_from_n extern int net_get_netdev_from_hwaddress(char *hwaddress, char *netdev); extern int net_setup_netdev(char *netdev, char *local_ip, char *mask, @@ -42,9 +42,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/include/iscsi_net_util.h open-iscsi-2.0 +extern int net_ifup_netdev(char *netdev); #endif -diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/include/config.h open-iscsi-2.0-872-rc4-bnx2i.work/iscsiuio/include/config.h ---- open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/include/config.h 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/iscsiuio/include/config.h 2012-03-22 23:19:51.000000000 -0500 +diff -aurp open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/include/config.h open-iscsi-2.0-872-rc4-bnx2i.work/iscsiuio/include/config.h +--- open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/include/config.h 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/iscsiuio/include/config.h 2012-03-28 17:51:03.000000000 -0500 @@ -59,6 +59,9 @@ typedef struct iface_rec { * 1 = enable */ uint16_t mtu; @@ -55,9 +55,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/include/config.h open-iscsi-2. /* * TODO: we may have to make this bigger and interconnect * specific for infinniband -diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/libiscsi/libiscsi.c open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/libiscsi.c ---- open-iscsi-2.0-872-rc4-bnx2i/libiscsi/libiscsi.c 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/libiscsi.c 2012-03-22 23:19:51.000000000 -0500 +diff -aurp open-iscsi-2.0-872-rc4-bnx2i/libiscsi/libiscsi.c open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/libiscsi.c +--- open-iscsi-2.0-872-rc4-bnx2i/libiscsi/libiscsi.c 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/libiscsi.c 2012-03-28 17:51:03.000000000 -0500 @@ -626,12 +626,15 @@ int libiscsi_node_set_parameter(struct l const char *parameter, const char *value) { @@ -79,9 +79,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/libiscsi/libiscsi.c open-iscsi-2.0-872- (char *)node->name, node->tpgt, (char *)node->address, node->port)) if (nr_found == 0) { -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/config.h 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/config.h 2012-03-28 17:51:03.000000000 -0500 @@ -229,6 +229,8 @@ typedef struct iface_rec { * 1 = enable */ uint16_t mtu; @@ -91,9 +91,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/config.h open-iscsi-2.0-872-rc4-bnx /* * TODO: we may have to make this bigger and interconnect * specific for infinniband -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/host.c 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/host.c 2012-03-28 17:51:03.000000000 -0500 @@ -174,6 +174,16 @@ static int print_host_iface(void *data, iface->ipv6_router); } @@ -119,10 +119,35 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/host.c open-iscsi-2.0-872-rc4-bnx2i err = iscsi_sysfs_for_each_host(&flags, &num_found, host_info_print_tree); break; -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.c 2012-03-22 23:19:51.000000000 -0500 -@@ -2358,70 +2358,83 @@ idbm_slp_defaults(struct iscsi_slp_confi +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.c 2012-03-28 17:51:09.000000000 -0500 +@@ -603,11 +603,14 @@ int idbm_rec_update_param(recinfo_t *inf + int i; + int passwd_done = 0; + char passwd_len[8]; ++ int found = 0; + + setup_passwd_len: + for (i=0; i '%s'", name, + info[i].value, value); + /* parse recinfo by type */ +@@ -662,6 +665,9 @@ setup_passwd_len: + } + } + ++ if (!found) ++ log_error("Unknown parameter %s.", name); ++ + return ISCSI_ERR_INVAL; + + updated: +@@ -2358,70 +2364,83 @@ idbm_slp_defaults(struct iscsi_slp_confi sizeof(struct iscsi_slp_config)); } @@ -243,7 +268,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/idbm.c open-iscsi-2.0-872-rc4-bnx2i recinfo_t *info; int rc = 0; -@@ -2431,13 +2444,17 @@ int idbm_discovery_set_param(void *data, +@@ -2431,13 +2450,17 @@ int idbm_discovery_set_param(void *data, idbm_recinfo_discovery((discovery_rec_t *)rec, info); @@ -267,9 +292,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/idbm.c open-iscsi-2.0-872-rc4-bnx2i rc = idbm_discovery_write((discovery_rec_t *)rec); if (rc) -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.h 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.h 2012-03-28 17:51:03.000000000 -0500 @@ -26,6 +26,7 @@ #include #include "initiator.h" @@ -302,9 +327,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/idbm.h open-iscsi-2.0-872-rc4-bnx2i extern void idbm_node_setup_defaults(node_rec_t *rec); extern struct node_rec *idbm_find_rec_in_list(struct list_head *rec_list, char *targetname, char *addr, -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iface.c 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iface.c 2012-03-28 17:51:03.000000000 -0500 @@ -169,7 +169,7 @@ free_conf: int iface_conf_read(struct iface_rec *iface) { @@ -441,9 +466,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iface.c open-iscsi-2.0-872-rc4-bnx2 if (!t) { log_error("Could not get transport for host%u. " "Make sure the iSCSI driver is loaded.", -diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iface.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/iface.h ---- open-iscsi-2.0-872-rc4-bnx2i/usr/iface.h 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iface.h 2012-03-22 23:19:51.000000000 -0500 +diff -aurp open-iscsi-2.0-872-rc4-bnx2i/usr/iface.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/iface.h +--- open-iscsi-2.0-872-rc4-bnx2i/usr/iface.h 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iface.h 2012-03-28 17:51:03.000000000 -0500 @@ -26,7 +26,6 @@ struct iface_rec; @@ -461,9 +486,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iface.h open-iscsi-2.0-872-rc4-bnx2 struct iface_rec *iface); extern int iface_conf_write(struct iface_rec *iface); extern int iface_conf_delete(struct iface_rec *iface); -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator_common.c 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator_common.c 2012-03-28 17:51:03.000000000 -0500 @@ -35,6 +35,7 @@ #include "host.h" #include "sysdeps.h" @@ -503,10 +528,18 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/initiator_common.c open-iscsi-2.0-8 rc = iscsi_set_net_config(t, session, iface); if (rc != 0) return rc; -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsiadm.c 2012-03-22 23:19:51.000000000 -0500 -@@ -1116,6 +1116,17 @@ do_sendtargets(discovery_rec_t *drec, st +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsiadm.c 2012-03-28 17:51:13.000000000 -0500 +@@ -110,6 +110,7 @@ static struct option const long_options[ + {"ip", required_argument, NULL, 'a'}, + {"packetsize", required_argument, NULL, 'b'}, + {"count", required_argument, NULL, 'c'}, ++ {"interval", required_argument, NULL, 'i'}, + {NULL, 0, NULL, 0}, + }; + static char *short_options = "RlDVhm:a:b:c:C:p:P:T:H:i:I:U:k:L:d:r:n:v:o:sSt:u"; +@@ -1116,6 +1117,17 @@ do_sendtargets(discovery_rec_t *drec, st free(iface); continue; } @@ -524,7 +557,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b host_no = iscsi_sysfs_get_host_no_from_hwinfo(iface, &rc); if (rc || host_no == -1) { log_debug(1, "Could not match iface" iface_fmt " to " -@@ -1124,18 +1135,6 @@ do_sendtargets(discovery_rec_t *drec, st +@@ -1124,18 +1136,6 @@ do_sendtargets(discovery_rec_t *drec, st continue; } @@ -543,7 +576,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b if (t->caps & CAP_SENDTARGETS_OFFLOAD) { do_offload_sendtargets(drec, host_no, do_login); list_del(&iface->list); -@@ -1346,8 +1345,6 @@ get_chap: +@@ -1346,8 +1346,6 @@ get_chap: goto exit_chap_info; } @@ -552,7 +585,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b crec = (struct iscsi_chap_rec *) (req_buf + sizeof(struct iscsi_uevent)); -@@ -1440,13 +1437,45 @@ static int exec_host_chap_op(int op, int +@@ -1440,13 +1438,45 @@ static int exec_host_chap_op(int op, int return rc; } @@ -600,7 +633,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b struct node_rec *rec = NULL; int rc = 0; -@@ -1502,7 +1531,7 @@ delete_fail: +@@ -1502,7 +1532,7 @@ delete_fail: iscsi_err_to_str(rc)); break; case OP_UPDATE: @@ -609,7 +642,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b log_error("Update requires name, value, and iface."); rc = ISCSI_ERR_INVAL; break; -@@ -1520,42 +1549,16 @@ delete_fail: +@@ -1520,42 +1550,16 @@ delete_fail: "sessions then log back in for the " "new settings to take affect."); @@ -656,7 +689,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b idbm_node_set_param); if (rc == ISCSI_ERR_NO_OBJS_FOUND) rc = 0; -@@ -1638,14 +1641,62 @@ update_fail: +@@ -1638,14 +1642,62 @@ update_fail: return rc; } @@ -721,7 +754,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b if (rec) log_debug(2, "%s: %s:%s node [%s,%s,%d] sid %u", __FUNCTION__, -@@ -1708,46 +1759,11 @@ static int exec_node_op(int op, int do_l +@@ -1708,46 +1760,11 @@ static int exec_node_op(int op, int do_l } if (op == OP_UPDATE) { @@ -741,7 +774,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b + if (rc) goto out; - } - +- - if (!strcmp(name, "node.transport_name")) - name = "iface.transport_name"; - /* @@ -762,7 +795,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b - goto out; - } - } -- + - set_param.name = name; - set_param.value = value; - @@ -771,7 +804,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b goto out; } else if (op == OP_DELETE) { rc = for_each_matched_rec(rec, NULL, delete_node); -@@ -2002,7 +2018,7 @@ static int exec_discover(int disc_type, +@@ -2002,7 +2019,7 @@ static int exec_discover(int disc_type, static int exec_disc2_op(int disc_type, char *ip, int port, struct list_head *ifaces, int info_level, int do_login, @@ -780,7 +813,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b int do_show) { struct discovery_rec drec; -@@ -2081,16 +2097,12 @@ do_db_op: +@@ -2081,16 +2098,12 @@ do_db_op: if (rc) log_error("Unable to delete record!"); } else if (op == OP_UPDATE) { @@ -799,7 +832,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b } else { log_error("Operation is not supported."); rc = ISCSI_ERR_INVAL; -@@ -2102,7 +2114,7 @@ done: +@@ -2102,7 +2115,7 @@ done: static int exec_disc_op(int disc_type, char *ip, int port, struct list_head *ifaces, int info_level, int do_login, @@ -808,7 +841,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b int do_show) { struct discovery_rec drec; -@@ -2228,6 +2240,8 @@ static uint32_t parse_host_info(char *op +@@ -2228,6 +2241,8 @@ static uint32_t parse_host_info(char *op *rc = 0; if (strstr(optarg, ":")) { @@ -817,7 +850,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b host_no = iscsi_sysfs_get_host_no_from_hwaddress(optarg, &err); if (err) { -@@ -2245,13 +2259,46 @@ static uint32_t parse_host_info(char *op +@@ -2245,13 +2260,46 @@ static uint32_t parse_host_info(char *op return host_no; } @@ -865,7 +898,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b struct sockaddr_storage addr; int i; -@@ -2324,11 +2371,15 @@ static int exec_ping_op(struct iface_rec +@@ -2324,11 +2372,15 @@ static int exec_ping_op(struct iface_rec * the iscsi if to send a ping, we can add a transport * callout here. */ @@ -883,7 +916,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b else printf("Ping %d failed: %s\n", i, iscsi_err_to_str(rc)); -@@ -2357,7 +2408,10 @@ main(int argc, char **argv) +@@ -2357,7 +2409,10 @@ main(int argc, char **argv) struct iface_rec *iface = NULL, *tmp; struct node_rec *rec = NULL; uint32_t host_no = -1; @@ -894,7 +927,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b INIT_LIST_HEAD(&ifaces); /* do not allow ctrl-c for now... */ memset(&sa_old, 0, sizeof(struct sigaction)); -@@ -2499,6 +2553,18 @@ main(int argc, char **argv) +@@ -2499,6 +2554,18 @@ main(int argc, char **argv) case 'h': usage(0); } @@ -913,7 +946,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b } if (optopt) { -@@ -2585,7 +2651,7 @@ main(int argc, char **argv) +@@ -2585,7 +2652,7 @@ main(int argc, char **argv) ping_interval); else rc = exec_iface_op(op, do_show, info_level, iface, @@ -922,7 +955,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b break; case MODE_DISCOVERYDB: -@@ -2597,7 +2663,7 @@ main(int argc, char **argv) +@@ -2597,7 +2664,7 @@ main(int argc, char **argv) } rc = exec_disc2_op(type, ip, port, &ifaces, info_level, @@ -931,7 +964,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b do_show); break; case MODE_DISCOVERY: -@@ -2609,7 +2675,7 @@ main(int argc, char **argv) +@@ -2609,7 +2676,7 @@ main(int argc, char **argv) } rc = exec_disc_op(type, ip, port, &ifaces, info_level, @@ -940,7 +973,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b do_show); break; case MODE_NODE: -@@ -2653,7 +2719,7 @@ main(int argc, char **argv) +@@ -2653,7 +2720,7 @@ main(int argc, char **argv) rc = exec_node_op(op, do_login, do_logout, do_show, do_rescan, do_stats, info_level, rec, @@ -949,7 +982,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b break; case MODE_SESSION: if ((rc = verify_mode_params(argc, argv, -@@ -2723,7 +2789,7 @@ main(int argc, char **argv) +@@ -2723,7 +2790,7 @@ main(int argc, char **argv) /* drop down to node ops */ rc = exec_node_op(op, do_login, do_logout, do_show, do_rescan, do_stats, info_level, @@ -958,7 +991,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b free_info: free(info); goto out; -@@ -2737,7 +2803,7 @@ free_info: +@@ -2737,7 +2804,7 @@ free_info: if (do_logout || do_rescan || do_stats) { rc = exec_node_op(op, do_login, do_logout, do_show, do_rescan, do_stats, @@ -967,9 +1000,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsiadm.c open-iscsi-2.0-872-rc4-b goto out; } -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid.c 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid.c 2012-03-28 17:51:03.000000000 -0500 @@ -409,11 +409,6 @@ int main(int argc, char *argv[]) exit(ISCSI_ERR); } @@ -982,9 +1015,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid.c open-iscsi-2.0-872-rc4-bnx umask(0177); mgmt_ipc_fd = -1; -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_ipc.h 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_ipc.h 2012-03-28 17:51:03.000000000 -0500 @@ -137,7 +137,7 @@ struct iscsi_ipc { int (*exec_ping) (uint64_t transport_handle, uint32_t host_no, @@ -994,9 +1027,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_ipc.h open-iscsi-2.0-872-rc4- int (*get_chap) (uint64_t transport_handle, uint32_t host_no, uint16_t chap_tbl_idx, uint32_t num_entries, -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_net_util.c 2012-03-22 23:19:59.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_net_util.c 2012-03-28 17:51:03.000000000 -0500 @@ -72,7 +72,7 @@ int net_get_transport_name_from_netdev(c ifr.ifr_data = (caddr_t)&drvinfo; err = ioctl(fd, SIOCETHTOOL, &ifr); @@ -1066,9 +1099,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_net_util.c open-iscsi-2.0-872 } -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsistart.c 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsistart.c 2012-03-28 17:51:09.000000000 -0500 @@ -40,6 +40,7 @@ #include "log.h" #include "iscsi_util.h" @@ -1178,6 +1211,15 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsistart.c open-iscsi-2.0-872-rc4 list_add(¶m->list, &user_params); return 0; } +@@ -196,7 +225,7 @@ static int login_session(struct node_rec + + rc = apply_params(rec); + if (rc) +- exit(rc); ++ return rc; + + printf("%s: Logging into %s %s:%d,%d\n", program_name, rec->name, + rec->conn[0].address, rec->conn[0].port, @@ -316,8 +345,6 @@ int main(int argc, char *argv[]) log_init(program_name, DEFAULT_AREA_SIZE, log_do_log_std, NULL); @@ -1196,9 +1238,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsistart.c open-iscsi-2.0-872-rc4 if (err) exit(err); break; -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_sysfs.c 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_sysfs.c 2012-03-28 17:51:03.000000000 -0500 @@ -532,6 +532,12 @@ static int iscsi_sysfs_read_iface(struct ret = 0; } @@ -1301,9 +1343,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_sysfs.c open-iscsi-2.0-872-rc - ISCSI_VERSION_FILE); - return -1; -} -diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_sysfs.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_sysfs.h ---- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_sysfs.h 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_sysfs.h 2012-03-22 23:19:51.000000000 -0500 +diff -aurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_sysfs.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_sysfs.h +--- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_sysfs.h 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_sysfs.h 2012-03-28 17:51:03.000000000 -0500 @@ -36,7 +36,6 @@ struct iscsi_auth_config; extern void free_transports(void); @@ -1320,9 +1362,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_sysfs.h open-iscsi-2.0-872-rc extern int iscsi_sysfs_session_supports_nop(int sid); extern int iscsi_sysfs_session_user_created(int sid); -diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_util.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_util.c ---- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_util.c 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_util.c 2012-03-22 23:20:02.000000000 -0500 +diff -aurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_util.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_util.c +--- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_util.c 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_util.c 2012-03-28 17:51:03.000000000 -0500 @@ -90,13 +90,24 @@ str_to_ipport(char *str, int *port, int if (!strchr(ip, '.')) { @@ -1366,9 +1408,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_util.c open-iscsi-2.0-872-rc4 if ((f = fopen(pathname, "r"))) { while ((line = fgets(buffer, sizeof (buffer), f))) { param = strstr(line, key); -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/Makefile 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/Makefile 2012-03-28 17:51:03.000000000 -0500 @@ -33,7 +33,7 @@ endif OPTFLAGS ?= -O2 -g WARNFLAGS ?= -Wall -Wstrict-prototypes @@ -1387,9 +1429,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/Makefile open-iscsi-2.0-872-rc4-bnx iscsiadm: $(ISCSI_LIB_SRCS) $(DISCOVERY_SRCS) iscsiadm.o session_mgmt.o $(CC) $(CFLAGS) $^ -o $@ -L../utils/open-isns -lisns -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/netlink.c 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/netlink.c 2012-03-28 17:51:03.000000000 -0500 @@ -1085,13 +1085,15 @@ ksend_ping(uint64_t transport_handle, ui static int kexec_ping(uint64_t transport_handle, uint32_t host_no, @@ -1420,9 +1462,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/netlink.c open-iscsi-2.0-872-rc4-bn break; } -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/transport.c 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/transport.c 2012-03-28 17:51:03.000000000 -0500 @@ -19,7 +19,17 @@ #include #include @@ -1593,9 +1635,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/transport.c open-iscsi-2.0-872-rc4- int set_transport_template(struct iscsi_transport *t) { struct iscsi_transport_template *tmpl; -diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/transport.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/transport.h ---- open-iscsi-2.0-872-rc4-bnx2i/usr/transport.h 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/transport.h 2012-03-22 23:19:51.000000000 -0500 +diff -aurp open-iscsi-2.0-872-rc4-bnx2i/usr/transport.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/transport.h +--- open-iscsi-2.0-872-rc4-bnx2i/usr/transport.h 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/transport.h 2012-03-28 17:51:03.000000000 -0500 @@ -51,5 +51,7 @@ struct iscsi_transport { }; @@ -1604,9 +1646,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/transport.h open-iscsi-2.0-872-rc4- +extern int transport_probe_for_offload(void); #endif -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 2012-03-22 23:20:15.000000000 -0500 -+++ open-iscsi-2.0-872-rc4-bnx2i.work/utils/fwparam_ibft/fw_entry.c 2012-03-22 23:19:51.000000000 -0500 +diff -aurp 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 2012-03-28 17:50:46.000000000 -0500 ++++ open-iscsi-2.0-872-rc4-bnx2i.work/utils/fwparam_ibft/fw_entry.c 2012-03-28 17:51:03.000000000 -0500 @@ -35,6 +35,8 @@ #include "idbm_fields.h" #include "iscsi_net_util.h" diff --git a/iscsi-initiator-utils.spec b/iscsi-initiator-utils.spec index ce090cf..ab4276f 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: 38%{?dist} +Release: 39%{?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 @@ -37,7 +37,7 @@ Patch11: iscsi-initiator-utils-libiscsi-to-support-offload.patch # sync to upstream commit f9f627fbf0fc96545931ae65aa2b6214841bfd4e to # add iscsiadm ping and host chap support and fix default iface handling Patch12: iscsi-initiator-utils-ping-and-chap.patch -# sync to upstream 04b4a6699f63c4f0bab9523aae3efb8c909d6587 +# sync to upstream 0d63a8c4471213e6db4c155c1bb009cf74a38032 Patch13: iscsi-initiator-utils-mod-iface-andport-fixes.patch # add rhel version info to iscsi tools Patch14: iscsi-initiator-utils-add-rh-ver.patch @@ -208,6 +208,10 @@ fi %{_includedir}/libiscsi.h %changelog +* Wed Mar 28 2012 Mike Christie 6.2.0.872.39 +- 738192 Fix invalid param handling. +- 790609 Fix --interval iscsiadm handling. + * Thu Mar 22 2012 Mike Christie 6.2.0.872.38 - Fix regressions caused by 796574 and 805467.