This commit is contained in:
Chris Leech 2012-10-10 13:45:04 -07:00
parent 602db46674
commit 8baf9eb1ae
5 changed files with 464 additions and 9 deletions

View File

@ -0,0 +1,38 @@
From 81225b1134210be0a58bec6e2532267e42b4ada2 Mon Sep 17 00:00:00 2001
From: Eddie Wai <eddie.wai@broadcom.com>
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 <eddie.wai@broadcom.com>
---
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

View File

@ -0,0 +1,359 @@
From ba0a0bccb38dfb443c24a1090dc6c18c9b1d2939 Mon Sep 17 00:00:00 2001
From: Mike Christie <michaelc@cs.wisc.edu>
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=<kernel-src>
+ make kernel KSRC=<kernel-src>
or cross-compilation:
- make KSRC=<kernel-src> KARCH="ARCH=um"
+ make kernel KSRC=<kernel-src> 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/<arch>/<config>
where <config> 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

View File

@ -4,8 +4,8 @@
* This may not be the same value as the kernel versions because * This may not be the same value as the kernel versions because
* some other maintainer could merge a patch without going through us * 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_STR "2.0-872.41.el6" +#define ISCSI_VERSION_STR "6.2.0-873.1.el6"
#define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version" #define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version"
#endif #endif

View File

@ -0,0 +1,43 @@
From bc6380ddce06ae2ce9a5b4f2952879175ba47c06 Mon Sep 17 00:00:00 2001
From: Mike Christie <michaelc@cs.wisc.edu>
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

View File

@ -2,8 +2,8 @@
Summary: iSCSI daemon and utility programs Summary: iSCSI daemon and utility programs
Name: iscsi-initiator-utils Name: iscsi-initiator-utils
Version: 6.2.0.872 Version: 6.2.0.873
Release: 42%{?dist} Release: 1%{?dist}
Source0: http://people.redhat.com/mchristi/iscsi/rhel6.0/source/open-iscsi-2.0-872-rc4-bnx2i.tar.gz Source0: http://people.redhat.com/mchristi/iscsi/rhel6.0/source/open-iscsi-2.0-872-rc4-bnx2i.tar.gz
Source1: iscsid.init Source1: iscsid.init
Source2: iscsidevs.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 Patch12: iscsi-initiator-utils-ping-and-chap.patch
# sync to upstream 6676a1cf6f2d23961e9db70155b5d0e5ce511989 # sync to upstream 6676a1cf6f2d23961e9db70155b5d0e5ce511989
Patch13: iscsi-initiator-utils-mod-iface-andport-fixes.patch 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 # 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 Group: System Environment/Daemons
License: GPLv2+ License: GPLv2+
@ -84,8 +90,11 @@ developing applications that use %{name}.
%patch11 -p1 -b .libiscsi-to-support-offload %patch11 -p1 -b .libiscsi-to-support-offload
%patch12 -p1 -b .ping-and-chap %patch12 -p1 -b .ping-and-chap
%patch13 -p1 -b .mod-iface-andport-fixes %patch13 -p1 -b .mod-iface-andport-fixes
%patch14 -p1 -b .add-rh-ver %patch14 -p1 -b .sync-uio-0.7.4.3
%patch15 -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 %build
cd utils/open-isns cd utils/open-isns
@ -211,6 +220,12 @@ fi
%{_includedir}/libiscsi.h %{_includedir}/libiscsi.h
%changelog %changelog
* Thu Oct 11 2012 Chris Leech <cleech@redhat.com> - 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 <cleech@redhat.com> - 6.2.0.872-42 * Wed Oct 10 2012 Chris Leech <cleech@redhat.com> - 6.2.0.872-42
- 826300 sync iscsiuio to 0.7.4.3 - 826300 sync iscsiuio to 0.7.4.3