diff --git a/iscsi-initiator-utils-ISCSISTART-Bring-up-the-corresponding-network-interf.patch b/iscsi-initiator-utils-ISCSISTART-Bring-up-the-corresponding-network-interf.patch new file mode 100644 index 0000000..75071e2 --- /dev/null +++ b/iscsi-initiator-utils-ISCSISTART-Bring-up-the-corresponding-network-interf.patch @@ -0,0 +1,38 @@ +From 81225b1134210be0a58bec6e2532267e42b4ada2 Mon Sep 17 00:00:00 2001 +From: Eddie Wai +Date: Wed, 5 Sep 2012 14:14:20 -0700 +Subject: [PATCH 2/4] ISCSISTART: Bring up the corresponding network interface + for iboot + +This is needed for the iSCSI offload boot. + +Snip from M. Christie: +Note that we must bring up the interface before iface_setup_from_boot_context, +because we will want iscsi_sysfs_get_host_no_from_hwaddress to be able to match +a MAC to a iscsi host. For some bnx2i cards, the card has to be ifupd for the +iscsi interface to have a MAC. If it is not ifupd we have seen MACs with all +zeros or no iscsi_hosts on different cards. + +Signed-off-by: Eddie Wai +--- + usr/iface.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/usr/iface.c b/usr/iface.c +index 4c612af..0f6b6d1 100644 +--- a/usr/iface.c ++++ b/usr/iface.c +@@ -915,6 +915,10 @@ int iface_setup_from_boot_context(struct iface_rec *iface, + transport_name)) + t = iscsi_sysfs_get_transport_by_name(transport_name); + ++ if (net_ifup_netdev(context->iface)) ++ log_warning("Could not bring up netdev %s for boot", ++ context->iface); ++ + hostno = iscsi_sysfs_get_host_no_from_hwaddress(context->mac, + &rc); + if (rc) { +-- +1.7.11.4 + diff --git a/iscsi-initiator-utils-Prep-for-open-iscsi-2.0.873-release.patch b/iscsi-initiator-utils-Prep-for-open-iscsi-2.0.873-release.patch new file mode 100644 index 0000000..ddbe5bc --- /dev/null +++ b/iscsi-initiator-utils-Prep-for-open-iscsi-2.0.873-release.patch @@ -0,0 +1,359 @@ +From ba0a0bccb38dfb443c24a1090dc6c18c9b1d2939 Mon Sep 17 00:00:00 2001 +From: Mike Christie +Date: Sun, 20 May 2012 19:59:24 -0500 +Subject: [PATCH] Prep for open-iscsi-2.0.873 release + +Update Changelog, README and version.h for new release. +--- + Changelog | 252 +++++++++++++++++++++++++++++++++------------------------- + README | 35 +++++--- + usr/version.h | 2 +- + 3 files changed, 171 insertions(+), 118 deletions(-) + +diff --git a/Changelog b/Changelog +index c1df8bd..880ae43 100644 +--- a/Changelog ++++ b/Changelog +@@ -1,114 +1,152 @@ +-open-iscsi-2.0-872 - open-iscsi-2.0.871 ++open-iscsi-2.0-872 - open-iscsi-2.0.873 + +-Avi Kaplan (2): +- Remove unused field iscsi_conn from struct iscsi_sw_tcp_conn +- Change restore_callbacks argument iscsi_sw_tcp_conn to iscsi_conn ++Ales Kozumplik (1): ++ fwparam_sysfs: fix pathname manipulation error in fwparam_sysfs_boot_info. + +-Erez Zilber (1): +- Fix 2.6.14-23_compat.patch to support all RHEL 5.X versions ++Eddie Wai (3): ++ ISCSID: Fixed a race condition in the INVALID_HOST path ++ ISCSID: Fixed iface update for the new iface net config params ++ ISCSIADM: Included the new iface net params to the node creation + +-Hannes Reinecke (2): +- Allow update of discovery records. +- Update 2.6.27_compat.patch for SLES 11 ++Hannes Reinecke (6): ++ iscsid sends SIGTERM to PID 0 ++ iscsid: Implement --no-pid-file ++ Keep startup mode in sync when specified in config file ++ Allow LOCK_DIR to be set via CFLAGS ++ Allow 'onboot' as loginall parameter ++ boot.suse: Update with latest fixes + +-Mike Christie (91): +- Don't kill iscsid if logout from all nodes fail +- iscsid: fix ISCSI_ERR_INVALID_HOST err handling +- iscsid: add flag to indicate if driver needs iscsid to set ip +- iscsid: add be2iscsi template +- iscsid be2iscsi: add more driver limits +- iscsid: start iscsid automatically when needed +- iscsid: fix segfault during session sync up +- iscsiadm: fix discovery record use +- iscsi mod: sync to linux-2.6-iscsi tree's 2.6.33 feature window patches +- iscsid: handle new replacement_timeout values +- iscsi tools: support tgt reset timeout +- iscsi-iname: fix misleading help description +- iscsid: fix iferror log message +- iscsi mod: Update 2.6.14-23_compat.patch patch +- iscsiadm: fix login/logout message +- do not use a semarg in shared-mem for semop calls +- Fix wrong logs in log.c +- update 2.6.26 compat patch +- iscsi tools: Allow empty username for CHAP +- iscsi ibft/boot: fix net dev loopup +- iscsistart option to bring up NICs using configuration in iBFT. +- ibft boot: mv setup nics to fw_entry.c so iscsiadm can use it +- iscsistart ibft: fix fwparam network cmd +- iscsid be2iscsi: don't set set_host_ip +- iscsi tools: merge functions to get net iface name from mac address +- ibft boot: do not setup nic if offload can be used +- iscsistart ibft boot: setup iscsi offload during boot +- ibft boot: remove be2iscsi +- iscsi tools: idbm/fw function cleanup +- iscsi tool: trivial fixes +- ibft boot: add offload ibft support to iscsiadm +- iscsiadm: only do auto iface setup when iface mode is run +- ibft boot: add iscsiadm offload ibft rec support +- doc: add iscsistart man page +- doc: add iscsi-iname man page +- ibft boot: fix dev to iface matching +- offload boot: turn off +- iscsi tools: nic setup cleanup +- iscsi tools: fix compile errors +- iscsi kern: fix 2.6.27 compat patch +- iscsiadm: add nonpersistent mode to discovery mode +- iscsi tool: mv idbm_node_setup_defaults to idbm.c +- iscsi tools: cleanup get_global_string_param use +- iscsi tools: make config file parser a little smarter. +- iscsiadm: mv session management functions to new file +- st discovery: fix reopen max handling +- iscsid: have iscsid watch for new portals using sendtargets +- iscsi tools: mv iscsid request helpers to its own file +- iscsi tools: add str prefix to strings.c functions +- iscsi tools: use open-isns services +- iscsi tools: add MaxXmitDataSegmentLength param +- iscsi tools: do not exit on mem alloc failures during discovery +- Fix makefile cleanup +- iscsid: add isns discovery daemon and SCN support +- iscsid: support discovery daemon auto logout +- isns: fix compilation +- iscsi tools: fix null sysfs string handling +- iscsi tools: fix compilation on s390 +- Update version number to 872 +- iscsi tools: fix MaxXmitDataSegmentLength=0 handling +- be2iscsi iscsi tool: fix MaxXmitDataSegmentLength handling +- iscsi tools: be2iscsi: fix initial_r2t_en handling +- iscsi tools: prep for userspace libiscsi +- iscsi tools: add log_info helper +- iscsi tools: fix port handling for iscsiadm commands +- iscsi tools: fix port handling for iscsiadm commands take 2 +- iscsid: fix discoveryd shutdown +- iscsi scripts: use iscsiadm -k to shutdown daemon +- iscsiadm: fix discovery record management +- iscsid: fix sendtargets discovery daemon CHAP handling +- iscsiadm: mv disc code to new function +- iscsiadm: fix disc port handling +- iscsiadm: add new discovery mode +- iscsiadm: add isns db support +- iscsiadm: cleanup default port handling +- iscsid: use isns discovery rec for isns discoveryd setttings +- iscsiadm: fix iface mode ENODEV handling +- iscsiadm: mark discovery mode as depreciated +- sync to upstream +- 2.6.33 - 34 kernel compat patch +- 2.6.28 - 32 kernel compat patch +- 2.6.27 kernel compat patch +- 2.6.26 kernel compat patch +- 2.6.24 - 25 kernel compat patch +- 2.6.14 - 23 kernel compat patch +- iscsiadm: fix discovery2 db op return value +- iscsiadm: print isns recs in discovery mode +- iscsi boot: add support for iscsi boot sysfs module +- iscsiadm: rename discovery2 mode as discoverydb +- iscsiadm: fix boot code compile error +- iscsiadm: fix iface update/delete return value fix ++Jim Ramsay (12): ++ Add specific session information to session_rec_t ++ Add support for multiple sessions per iface to iscsid ++ Add multiple sessions per iface commandline syntax ++ Add new node.session.nr_sessions config parameter ++ Implement leading-login support ++ Fix dcb_app.c compile error with old kernels ++ Check all ifaces during discovery even if some timeout ++ iscsid: In foreground mode, treat SIGINT like SIGTERM ++ Revise bind_conn_to_iface logic ++ iscsi tools: Fix warnings reported by gcc-4.5.2 ++ fwparam_ibft: Fix warnings reported by gcc-4.5.2 ++ open-isns: Fix warnings reported by gcc-4.5.2 + +-Ritesh Raj Sarraf (3): +- fix some spelling errors reported by lintian +- minor manpage updates +- Fix CVE-2009-1297 ++Karen Xie (1): ++ open-iscsi: add transport cxgb4i + +-Wulf C. Krueger (1): +- Use DESTDIR when generating an InitiatorName. ++Lalit Chandivade (2): ++ iscsiadm: add netconfig support ++ iscsi tools: manage qla4xxx iscsi sessions with iscsiadm ++ ++Manish Rangankar (1): ++ iscsid: Fixed iscsid restart issue for offload iSCSI login ++ ++Mark Rustad (7): ++ Add some consts to char * parameters that are not changed ++ Add dcb_app.h for DCB support ++ Add dcb_app.c for DCB support ++ Add initial DCB support ++ iscsid: Fix netdev check ++ Remove redundant initialization ++ iscsid: Add IEEE DCB support ++ ++Mike Christie (86): ++ iscsid: remove bogus debug log msg in isns_disc_new_portals ++ isns: Fix endless loop when pollhup is returned ++ iscsi tools: fix multi pdu sendtargets discovery sequences ++ iscsi boot: fix iscsi_boot sysfs parsing ++ Use pass through interface for sendtargets (take4) Currenly offload cards like bnx2i, be2iscsi, cxgb3i must use a normal eth for discovery. This patch allows us to do discovery using the iscsi class passthrough interface. ++ Add userspace/tools iscsi error code defs ++ iscsi tools: fix iscsiadm exit codes ++ iscsid: modify data drop ++ iscsi doc: document iscsiadm host argument ++ iscsid: add new auth error code ++ iscsi tools: convert discovery code to iscsi error codes ++ iscsi tools: document iface rp_filter use ++ iscsi tools: disable isns dsa code ++ iscsi tools: support hostnames in node mode ++ iscsi tools: fix discovery return code ++ iscsiadm: fix offload discovery retry ++ iscsid: fix signal handler debug msg ++ iscsiadm: fix discovery exit code ++ iscsi tools: fix dcbnl.h compile error ++ iscsid: retry initial connect ++ iscsi tools/kernel: switch make defaults ++ iscsi tools: fix comment about sysfs lookup failures ++ iscsi tools: fix netlink bug allocation ++ iscsi tools: Don't try to bind offload EPs to sockets ++ iscsi tools: fix oom_adj use ++ iscsi tools: fix bnx2i boot due to MAC mismatch ++ iscsiadm: fix discoverydb help ++ Update SUSE init script ++ iscsi tools: revert commit c440cbe7ba2464f8baadedb55b00754c36773c2c ++ Add a TODO ++ TODO: mark down Jose as working on idr ++ Update TODO ++ iscsi tools: fix iname sysfs handling ++ iscsi tools: handle compile warnings about unused variables ++ iscsiadm: print kernel iface info ++ iscsi tools: add tgt reset to session info and fix unknown values ++ iscsi tools: fix default iface binding setup ++ iscsi tools: fix iscsiadm return value on failed login ++ iscsi tools: don't build with openssl ++ iscsi tools: check NULL pointer first and add limit check in str_remove_initial ++ iscsi tools: fix README sid lookup info ++ iscsid: print out more informative error string for kernel errors ++ iscsi tools: fix netlink msg setup ++ iscsi tools: fix up vlan support ++ update todo ++ iscsiadm: fix printing of unknown host values ++ Do not run configure for open-isns on every build ++ iscsi tools: fix ipv6 ibft/firmware boot ++ iscsid: don't sync qla4xxx flash sessions ++ iscsid: kill session if already exists. ++ isns: remove rfc files. ++ iscsistart: allow any rec/iscsid.conf setting as arg ++ iscsistart: support params in offload/ibft mode ++ iscsi tools: never use hdr digest with iser ++ iscsi tools: update iscsi_if.h for host event ++ iscsi tools: added ping support ++ iscsi tools: Add support to display a host's CHAP list and delete ++ iscsi tools: fix conn state compilation warnings ++ iscsi tools: allow default to have different transort names ++ iscsiadm: print ping status string ++ iscsi tools: fix hostname with port handling ++ iscsi tools: have iscsid/iscsiadm load modules as needed ++ iscsi tools: have iscsiadm load offload modules ++ init: update red hat init script for module changes ++ iscsi tools: create def ifaces on demand ++ iscsi tools: iscsiadm modprobe support ++ iscsi tools: remove class version check ++ iscsi tools: remove unused len variable ++ iscsiadm: support multiple params in one call ++ iscsid: remove DCB support ++ iscsiadm: print port speed and link state ++ iscsi tools: check for loaded module before loading ++ iscsistart: have iscsistart use same multi param code as iscsiadm ++ iscsi tools: print and load boot transport ++ iscsiadm: load iface before checking for hostno/mac match ++ iscsistart: fix iface overriding ++ iscsiadm: make sure offload drivers are loaded in host mode ++ iscsi tools: have iscsi tools bring up offload net iface ++ iscsi tools: fix bnx2i login ++ iscsi tools: fix ipv6 handling ++ iscsistart: fix invalid param handling ++ iscsiadm: added command line option '--interval' ++ iscsi tools: fix unknown param warnings ++ iscsi tools: fix socket leak in transport probe ++ iscsi tools: remove useless NULL iface check ++ iscsi tools: use strlpy in net code ++ ++Nilesh Javali (1): ++ iscsi tools: update documents for CHAP command ++ ++Rahul Gupta (1): ++ iscsi tools: Displaying timeout and CHAP in iscisadm info ++ ++Vikas Chaudhary (2): ++ iscsi tools: update documents for ping command ++ iscsi tools: remove un-necessary print message ++ ++Wang Sheng-Hui (1): ++ usr/config.h: fix comment for struct iscsi_session_timeout_config + +diff --git a/README b/README +index 0f6293f..3bca590 100644 +--- a/README ++++ b/README +@@ -4,7 +4,7 @@ + + ================================================================= + +- July 1, 2010 ++ May 20, 2012 + Contents + ======== + +@@ -74,29 +74,44 @@ the cache sync command will fail. + - iscsiadm's -P 3 option will not print out scsi devices. + - iscsid will not automatically online devices. + +-By default the kernel source found at ++By default the kernel's iSCSI modules will be used. Running: ++ ++ make ++ make install ++ ++will install the iSCSI tools iscsiadm and iscsid to /sbin. ++ ++For 2.6.14 - 2.6.34 the modules in the kernel dir can built and install ++by running: ++ ++ make kernel ++ ++When building those modules the kernel source found at + /lib/modules/`uname -a`/build + will be used to compile the open-iscsi modules. To specify a different + kernel to build against use: + +- make KSRC= ++ make kernel KSRC= + + or cross-compilation: + +- make KSRC= KARCH="ARCH=um" ++ make kernel KSRC= KARCH="ARCH=um" + + To compile on SUSE Linux you'll have to use + +- make KSRC=/usr/src/linux \ ++ make kernel KSRC=/usr/src/linux \ + KBUILD_OUTPUT=/usr/src/linux-obj// + + where is the kernel configuration to use (eg. 'smp'). + +-For Red Hat/Fedora and Debian distributions open-iscsi can be installed by +-typing "make install". This will copy iscsid and iscsiadm to /usr/sbin, the +-init script to /etc/init.d, and the kernel modules: iscsi_tcp.ko, +-libiscsi_tcp.ko, libiscsi.ko and scsi_transport_iscsi to +-/lib/modules/`uname -r`/kernel/drivers/scsi/ overwriting existing iscsi modules. ++To install the kernel modules that were built run: ++ ++ make install_kernel ++ ++This will copy: iscsi_tcp.ko, libiscsi_tcp.ko, libiscsi.ko and ++scsi_transport_iscsi to ++/lib/modules/`uname -r`/kernel/drivers/scsi/ ++overwriting existing iscsi modules. + + For Debian, be sure to install the linux-headers package that + corresponds to your kernel in order to compile the kernel modules +diff --git a/usr/version.h b/usr/version.h +index 797eca4..a090522 100644 +--- a/usr/version.h ++++ b/usr/version.h +@@ -6,7 +6,7 @@ + * This may not be the same value as the kernel versions because + * some other maintainer could merge a patch without going through us + */ +-#define ISCSI_VERSION_STR "2.0-872" ++#define ISCSI_VERSION_STR "2.0-873" + #define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version" + + #endif +-- +1.7.11.7 + diff --git a/iscsi-initiator-utils-add-rh-ver.patch b/iscsi-initiator-utils-add-rh-ver.patch index 2a6d8f3..5cd2e91 100644 --- a/iscsi-initiator-utils-add-rh-ver.patch +++ b/iscsi-initiator-utils-add-rh-ver.patch @@ -4,8 +4,8 @@ * This may not be the same value as the kernel versions because * 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.41.el6" +-#define ISCSI_VERSION_STR "2.0-873" ++#define ISCSI_VERSION_STR "6.2.0-873.1.el6" #define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version" #endif diff --git a/iscsi-initiator-utils-iscsid-fix-iscsid-segfault-during-qla4xxx-login.patch b/iscsi-initiator-utils-iscsid-fix-iscsid-segfault-during-qla4xxx-login.patch new file mode 100644 index 0000000..1e47306 --- /dev/null +++ b/iscsi-initiator-utils-iscsid-fix-iscsid-segfault-during-qla4xxx-login.patch @@ -0,0 +1,43 @@ +From bc6380ddce06ae2ce9a5b4f2952879175ba47c06 Mon Sep 17 00:00:00 2001 +From: Mike Christie +Date: Wed, 5 Sep 2012 16:18:16 -0500 +Subject: [PATCH 1/4] iscsid: fix iscsid segfault during qla4xxx login + +If the kernel sends multiple ISCSI_KEVENT_CONN_LOGIN_STATE +events for the same login event iscsid will segault. + +When we get a conn error we will set the r_stage to reopen, then when +session_conn_process_login handles the first login event we set the r_stage +to R_STAGE_NO_CHANGE. But then it looks like if we get a second login event +r_stage is no_change and session_conn_process_login will run again and +call mgmt_ipc_write_rsp on a bad qtask. +--- + usr/initiator.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/usr/initiator.c b/usr/initiator.c +index c9d792e..597e0ff 100644 +--- a/usr/initiator.c ++++ b/usr/initiator.c +@@ -1041,7 +1041,7 @@ static void session_scan_host(struct iscsi_session *session, int hostno, + exit(0); + } else if (pid > 0) { + reap_inc(); +- if (qtask) { ++ if (qtask && qtask->mgmt_ipc_fd >= 0) { + close(qtask->mgmt_ipc_fd); + free(qtask); + } +@@ -1666,6 +1666,9 @@ static void session_conn_process_login(void *data) + if (state == ISCSI_CONN_STATE_FREE) + goto failed_login; + ++ if (conn->state == ISCSI_CONN_STATE_LOGGED_IN) ++ return; ++ + conn->state = ISCSI_CONN_STATE_LOGGED_IN; + /* + * ok we were in_login and now we got the notification that we are +-- +1.7.11.4 + diff --git a/iscsi-initiator-utils.spec b/iscsi-initiator-utils.spec index b8edae4..6d20c9f 100644 --- a/iscsi-initiator-utils.spec +++ b/iscsi-initiator-utils.spec @@ -2,8 +2,8 @@ Summary: iSCSI daemon and utility programs Name: iscsi-initiator-utils -Version: 6.2.0.872 -Release: 42%{?dist} +Version: 6.2.0.873 +Release: 1%{?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 @@ -39,10 +39,16 @@ Patch11: iscsi-initiator-utils-libiscsi-to-support-offload.patch Patch12: iscsi-initiator-utils-ping-and-chap.patch # sync to upstream 6676a1cf6f2d23961e9db70155b5d0e5ce511989 Patch13: iscsi-initiator-utils-mod-iface-andport-fixes.patch -# add rhel version info to iscsi tools -Patch14: iscsi-initiator-utils-add-rh-ver.patch # sync brcm to 0.7.4.3 -Patch15: iscsi-initiator-utils-sync-uio-0.7.4.3.patch +Patch14: iscsi-initiator-utils-sync-uio-0.7.4.3.patch +# upstream Changelog, README and version sync for 2.0.873 +Patch15: iscsi-initiator-utils-Prep-for-open-iscsi-2.0.873-release.patch +# upstream 71cd021b74a7094b5186a42bfe59a35e2fa66018 +Patch16: iscsi-initiator-utils-iscsid-fix-iscsid-segfault-during-qla4xxx-login.patch +# upstream f0a8c95426d21413d9980d31740e193208e3280e +Patch17: iscsi-initiator-utils-ISCSISTART-Bring-up-the-corresponding-network-interf.patch +# add rhel version info to iscsi tools +Patch90: iscsi-initiator-utils-add-rh-ver.patch Group: System Environment/Daemons License: GPLv2+ @@ -84,8 +90,11 @@ developing applications that use %{name}. %patch11 -p1 -b .libiscsi-to-support-offload %patch12 -p1 -b .ping-and-chap %patch13 -p1 -b .mod-iface-andport-fixes -%patch14 -p1 -b .add-rh-ver -%patch15 -p1 -b .sync-uio-0.7.4.3 +%patch14 -p1 -b .sync-uio-0.7.4.3 +%patch15 -p1 -b .sync-2.0.873 +%patch16 -p1 -b .segfault-qla4xxx-login +%patch17 -p1 -b .boot-netif-up +%patch90 -p1 -b .add-rh-ver %build cd utils/open-isns @@ -211,6 +220,12 @@ fi %{_includedir}/libiscsi.h %changelog +* Thu Oct 11 2012 Chris Leech - 6.2.0.873-1 +- Sync with upstream 2.0.873 +- 854776 Bring up network interface for iSCSI boot with bnx2i +- 811428 make version string reported by iscsiadm match RPM version +- fix iscsid segfault during qla4xxx login + * Wed Oct 10 2012 Chris Leech - 6.2.0.872-42 - 826300 sync iscsiuio to 0.7.4.3