Merge remote-tracking branch 'origin/rhel-6.4' into rhel-7.0

BZ #884424

Inherited package from f18 is out of date compared to 6.4, carry over
for alpha 3.  This will be replaced by newer f19 version developing in
rawhide for beta.
This commit is contained in:
Chris Leech 2013-02-22 15:51:09 -08:00
commit 2f575ee31b
20 changed files with 114097 additions and 1171 deletions

24
.gitignore vendored
View File

@ -1,16 +1,8 @@
open-iscsi-5.0.4.446.tar.gz
open-iscsi-5.0.5.476.tar.bz2
open-iscsi-5.0.5.595.tar.bz2
open-iscsi-6.0.5.595.tar.bz2
open-iscsi-1.1-645.tar.bz2
open-iscsi-6.1.1.645.tar.bz2
open-iscsi-6.1.1.685.tar.bz2
open-iscsi-6.2.0.695.tar.bz2
open-iscsi-2.0-754.tar.gz
open-iscsi-2.0-865.2.tar.gz
open-iscsi-2.0-865.13.tar.gz
open-iscsi-2.0-868-test1.tar.gz
open-iscsi-2.0-870-rc1.tar.gz
open-iscsi-2.0-870.1.tar.gz
open-iscsi-2.0-872-rc1-bnx2i.tar.gz
open-iscsi-2.0-872-rc4-bnx2i.tar.gz
/open-iscsi-2.0-870.1.tar.gz
/open-iscsi-2.0-871.1.1-bnx2i.tar.gz
/open-iscsi-2.0-872-rc1.tar.gz
/open-iscsi-2.0-872-rc1-bnx2i.tar.gz
/open-iscsi-2.0-872-rc2-bnx2i.tar.gz
/open-iscsi-2.0-872-rc3.tar.gz
/open-iscsi-2.0-872-rc3-bnx2i.tar.gz
/open-iscsi-2.0-872-rc4-bnx2i.tar.gz

View File

@ -0,0 +1,85 @@
From e35bdee97477e65866b2c110f0e4b1affe4e983d Mon Sep 17 00:00:00 2001
From: Harish Zunjarrao <harish.zunjarrao@qlogic.com>
Date: Wed, 12 Oct 2011 19:12:03 +0530
Subject: [PATCH 1/2] iscsi tools: Add Netconfig support through libiscsi
Signed-off-by: Harish Zunjarrao <harish.zunjarrao@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
---
libiscsi/libiscsi.c | 25 +++++++++++++++++++++++++
libiscsi/libiscsi.h | 16 ++++++++++++++++
2 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
index 42f2e3b..dc63fcd 100644
--- a/libiscsi/libiscsi.c
+++ b/libiscsi/libiscsi.c
@@ -38,9 +38,13 @@
#include "fw_context.h"
#include "iscsid_req.h"
#include "iscsi_err.h"
+#include "iscsi_ipc.h"
+#include "transport.h"
#define CHECK(a) { context->error_str[0] = 0; rc = a; if (rc) goto leave; }
+extern struct iscsi_ipc *ipc;
+
/* UGLY, not thread safe :( */
static int sysfs_initialized = 0;
@@ -610,3 +614,24 @@ int libiscsi_get_firmware_initiator_name(char *initiatorname)
return 0;
}
+
+int libiscsi_set_netconfig(struct libiscsi_context *context,
+ uint32_t host_no, char *transport_name,
+ struct iovec *iovs, int param_count)
+{
+ struct iscsi_transport *t = NULL;
+ int fd;
+ int rc = 1;
+
+ t = iscsi_sysfs_get_transport_by_name(transport_name);
+ if (!t)
+ return ENODEV;
+
+ fd = ipc->ctldev_open();
+ if (fd < 0)
+ return ENODEV;
+
+ rc = ipc->set_net_config(t->handle, host_no, iovs, param_count);
+ ipc->ctldev_close();
+ return rc;
+}
diff --git a/libiscsi/libiscsi.h b/libiscsi/libiscsi.h
index 756590e..61ce0ea 100644
--- a/libiscsi/libiscsi.h
+++ b/libiscsi/libiscsi.h
@@ -335,6 +335,22 @@ PUBLIC int libiscsi_get_firmware_network_config(
*/
PUBLIC int libiscsi_get_firmware_initiator_name(char *initiatorname);
+/** \brief Set Network Configuration Settings
+ *
+ * Set Network Configuration Settings
+ *
+ * \param context libiscsi context to operate on.
+ * \param host_no Host number of the port.
+ * \param transport_name Transport Class Name.
+ * \param iovs Pointer to IO Vectors of Netconfig paramaters.
+ * \param param_count Number to IO Vectors.
+ *
+ * \return 0 on success, ENODEV when set netconfig failed.
+ */
+PUBLIC int libiscsi_set_netconfig(struct libiscsi_context *context,
+ uint32_t host_no, char *transport_name,
+ struct iovec *iovs, int param_count);
+
#undef PUBLIC
#ifdef __cplusplus
--
1.7.1

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

@ -1,6 +1,6 @@
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/libiscsi.c open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/libiscsi.c
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/libiscsi.c open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/libiscsi.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/libiscsi.c 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/libiscsi.c 2011-08-14 16:53:58.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/libiscsi.c 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,612 @@
+/*
+ * iSCSI Administration library
@ -614,9 +614,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/libiscsi.c open-iscsi-2.0
+
+ return 0;
+}
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/libiscsi.doxy open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/libiscsi.doxy
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/libiscsi.doxy open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/libiscsi.doxy
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/libiscsi.doxy 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/libiscsi.doxy 2011-08-14 16:46:24.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/libiscsi.doxy 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,1473 @@
+# Doxyfile 1.5.7.1
+
@ -2091,9 +2091,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/libiscsi.doxy open-iscsi-
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE = NO
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/libiscsi.h open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/libiscsi.h
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/libiscsi.h open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/libiscsi.h
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/libiscsi.h 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/libiscsi.h 2011-08-14 16:53:58.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/libiscsi.h 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,344 @@
+/*
+ * iSCSI Administration library
@ -2439,9 +2439,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/libiscsi.h open-iscsi-2.0
+#endif /* __cplusplus */
+
+#endif
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/Makefile open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/Makefile
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/Makefile open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/Makefile
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/Makefile 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/Makefile 2011-08-14 16:46:24.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/Makefile 2012-03-05 23:16:31.000000000 -0600
@@ -0,0 +1,61 @@
+# This Makefile will work only with GNU make.
+
@ -2458,7 +2458,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/Makefile open-iscsi-2.0-8
+
+COMMON_SRCS = sysdeps.o
+# sources shared between iscsid, iscsiadm and iscsistart
+ISCSI_LIB_SRCS = netlink.o transport.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o dcb_app.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 = netlink.o transport.o iser.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o dcb_app.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
@ -2504,9 +2504,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/Makefile open-iscsi-2.0-8
+ gcc $(CFLAGS) -M `ls *.c` > .depend
+
+-include .depend ../usr/.depend
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/pylibiscsi.c open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/pylibiscsi.c
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/pylibiscsi.c open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/pylibiscsi.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/pylibiscsi.c 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/pylibiscsi.c 2011-08-14 16:53:58.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/pylibiscsi.c 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,638 @@
+/*
+ * iSCSI Administration library
@ -3146,9 +3146,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/pylibiscsi.c open-iscsi-2
+ Py_INCREF(&PyIscsiNode_Type);
+ PyModule_AddObject(m, "node", (PyObject *) &PyIscsiNode_Type);
+}
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/setup.py open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/setup.py
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/setup.py open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/setup.py
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/setup.py 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/setup.py 2011-08-14 16:46:24.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/setup.py 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,9 @@
+from distutils.core import setup, Extension
+
@ -3159,9 +3159,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/setup.py open-iscsi-2.0-8
+
+setup (name = 'PyIscsi',version = '1.0',
+ description = 'libiscsi python bindings', ext_modules = [module1])
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_discovery_firmware.c open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_discovery_firmware.c
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_discovery_firmware.c open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_discovery_firmware.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_discovery_firmware.c 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_discovery_firmware.c 2011-08-14 16:46:24.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_discovery_firmware.c 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,53 @@
+/*
+ * iSCSI Administration library
@ -3216,9 +3216,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_discovery_firm
+
+ return rc;
+}
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_discovery_sendtargets.c open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_discovery_sendtargets.c
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_discovery_sendtargets.c open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_discovery_sendtargets.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_discovery_sendtargets.c 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_discovery_sendtargets.c 2011-08-14 16:46:24.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_discovery_sendtargets.c 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,60 @@
+/*
+ * iSCSI Administration library
@ -3280,9 +3280,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_discovery_send
+
+ return rc;
+}
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_get_auth.c open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_get_auth.c
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_get_auth.c open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_get_auth.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_get_auth.c 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_get_auth.c 2011-08-14 16:46:24.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_get_auth.c 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,70 @@
+/*
+ * iSCSI Administration library
@ -3354,9 +3354,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_get_auth.c ope
+
+ return rc;
+}
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_get_initiator_name.c open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_get_initiator_name.c
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_get_initiator_name.c open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_get_initiator_name.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_get_initiator_name.c 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_get_initiator_name.c 2011-08-14 16:46:24.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_get_initiator_name.c 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,38 @@
+/*
+ * iSCSI Administration library
@ -3396,9 +3396,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_get_initiator_
+
+ return 0;
+}
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_get_network_config.c open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_get_network_config.c
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_get_network_config.c open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_get_network_config.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_get_network_config.c 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_get_network_config.c 2011-08-14 16:46:24.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_get_network_config.c 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,45 @@
+/*
+ * iSCSI Administration library
@ -3445,9 +3445,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_get_network_co
+
+ return 0;
+}
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_login.c open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_login.c
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_login.c open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_login.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_login.c 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_login.c 2011-08-14 16:46:24.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_login.c 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,52 @@
+/*
+ * iSCSI Administration library
@ -3501,9 +3501,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_login.c open-i
+
+ return rc;
+}
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_logout.c open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_logout.c
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_logout.c open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_logout.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_logout.c 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_logout.c 2011-08-14 16:46:24.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_logout.c 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,51 @@
+/*
+ * iSCSI Administration library
@ -3556,9 +3556,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_logout.c open-
+
+ return rc;
+}
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_params.c open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_params.c
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_params.c open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_params.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_params.c 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_params.c 2011-08-14 16:46:24.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_params.c 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,103 @@
+/*
+ * iSCSI Administration library
@ -3663,9 +3663,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_params.c open-
+
+ return rc;
+}
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_set_auth.c open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_set_auth.c
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_set_auth.c open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_set_auth.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_set_auth.c 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/tests/test_set_auth.c 2011-08-14 16:46:24.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/tests/test_set_auth.c 2012-03-05 23:15:31.000000000 -0600
@@ -0,0 +1,58 @@
+/*
+ * iSCSI Administration library
@ -3725,10 +3725,10 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/tests/test_set_auth.c ope
+
+ return rc;
+}
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/Makefile open-iscsi-2.0-872-rc4-bnx2i.build/Makefile
--- open-iscsi-2.0-872-rc4-bnx2i.base/Makefile 2011-08-14 16:53:01.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/Makefile 2011-08-14 16:46:24.000000000 -0500
@@ -32,6 +32,7 @@ user: ;
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/Makefile open-iscsi-2.0-872-rc4-bnx2i.work/Makefile
--- open-iscsi-2.0-872-rc4-bnx2i.base/Makefile 2012-03-05 23:19:56.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/Makefile 2012-03-05 23:15:31.000000000 -0600
@@ -32,6 +32,7 @@ user: utils/open-isns/Makefile
$(MAKE) -C utils/fwparam_ibft
$(MAKE) -C usr
$(MAKE) -C utils
@ -3736,7 +3736,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/Makefile open-iscsi-2.0-872-rc4-bn
@echo
@echo "Compilation complete Output file"
@echo "----------------------------------- ----------------"
@@ -53,6 +54,7 @@ kernel: force
@@ -56,6 +57,7 @@ kernel: force
force: ;
clean:
@ -3744,9 +3744,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/Makefile open-iscsi-2.0-872-rc4-bn
$(MAKE) -C utils/sysdeps clean
$(MAKE) -C utils/fwparam_ibft clean
$(MAKE) -C utils clean
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/discovery.c open-iscsi-2.0-872-rc4-bnx2i.build/usr/discovery.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/discovery.c 2011-08-14 16:53:01.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/discovery.c 2011-08-14 16:46:24.000000000 -0500
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/discovery.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/discovery.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/discovery.c 2012-03-05 23:19:56.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/discovery.c 2012-03-05 23:15:31.000000000 -0600
@@ -36,6 +36,7 @@
#include "types.h"
#include "iscsi_proto.h"
@ -3783,10 +3783,10 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/discovery.c open-iscsi-2.0-872
int discovery_fw(void *data, struct iface_rec *iface,
struct list_head *rec_list)
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/idbm.c open-iscsi-2.0-872-rc4-bnx2i.build/usr/idbm.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/idbm.c 2011-08-14 16:53:01.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/idbm.c 2011-08-14 16:46:24.000000000 -0500
@@ -1274,9 +1274,9 @@ int idbm_print_all_discovery(int info_le
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/idbm.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/idbm.c 2012-03-05 23:20:05.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.c 2012-03-05 23:15:31.000000000 -0600
@@ -1300,9 +1300,9 @@ int idbm_print_all_discovery(int info_le
* fn should return -1 if it skipped the rec, a ISCSI_ERR error code if
* the operation failed or 0 if fn was run successfully.
*/
@ -3799,9 +3799,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/idbm.c open-iscsi-2.0-872-rc4-
{
DIR *iface_dirfd;
struct dirent *iface_dent;
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/idbm.h open-iscsi-2.0-872-rc4-bnx2i.build/usr/idbm.h
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/idbm.h 2011-08-14 16:53:01.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/idbm.h 2011-08-14 16:46:24.000000000 -0500
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/idbm.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.h
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/idbm.h 2012-03-05 23:20:05.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/idbm.h 2012-03-05 23:15:31.000000000 -0600
@@ -98,6 +98,9 @@ struct rec_op_data {
node_rec_t *match_rec;
idbm_iface_op_fn *fn;
@ -3812,9 +3812,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/idbm.h open-iscsi-2.0-872-rc4-
extern int idbm_for_each_portal(int *found, void *data,
idbm_portal_op_fn *fn, char *targetname);
extern int idbm_for_each_node(int *found, void *data,
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsi_ipc.h open-iscsi-2.0-872-rc4-bnx2i.build/usr/iscsi_ipc.h
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsi_ipc.h 2011-08-14 16:53:01.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/iscsi_ipc.h 2011-08-14 16:46:24.000000000 -0500
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsi_ipc.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_ipc.h
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsi_ipc.h 2012-03-05 23:19:56.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_ipc.h 2012-03-05 23:15:31.000000000 -0600
@@ -136,4 +136,6 @@ struct iscsi_ipc {
int (*recv_conn_state) (struct iscsi_conn *conn, uint32_t *state);
};
@ -3822,9 +3822,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsi_ipc.h open-iscsi-2.0-872
+struct iscsi_ipc *ipc;
+
#endif /* ISCSI_IPC_H */
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/Makefile open-iscsi-2.0-872-rc4-bnx2i.build/usr/Makefile
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/Makefile 2011-08-14 16:53:01.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/Makefile 2011-08-14 16:46:24.000000000 -0500
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/Makefile open-iscsi-2.0-872-rc4-bnx2i.work/usr/Makefile
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/Makefile 2012-03-05 23:19:56.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/Makefile 2012-03-05 23:15:31.000000000 -0600
@@ -33,7 +33,7 @@ endif
OPTFLAGS ?= -O2 -g
WARNFLAGS ?= -Wall -Wstrict-prototypes

View File

@ -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.18.f17"
-#define ISCSI_VERSION_STR "2.0-873"
+#define ISCSI_VERSION_STR "6.2.0-873.2.el6"
#define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version"
#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

@ -0,0 +1,166 @@
From c4331b7523afccba5176797901209a9d03afa997 Mon Sep 17 00:00:00 2001
From: Ales Kozumplik <akozumpl@redhat.com>
Date: Thu, 18 Nov 2010 17:13:36 +0100
Subject: [PATCH] libiscsi: reimplement fw discovery so partial devices are used properly.
Related: rhbz#442980
---
libiscsi/libiscsi.c | 120 ++++++++++++++++++++++++++++++--------------------
1 files changed, 72 insertions(+), 48 deletions(-)
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
index 19eae58..626e67c 100644
--- a/libiscsi/libiscsi.c
+++ b/libiscsi/libiscsi.c
@@ -93,6 +93,16 @@ void libiscsi_cleanup(struct libiscsi_context *context)
free(context);
}
+static void free_iface_list(struct list_head *ifaces)
+{
+ struct iface_rec *iface, *tmp_iface;
+
+ list_for_each_entry_safe(iface, tmp_iface, ifaces, list) {
+ list_del(&iface->list);
+ free(iface);
+ }
+}
+
static void free_rec_list(struct list_head *rec_list)
{
struct node_rec *rec, *tmp;
@@ -188,69 +198,83 @@ leave:
int libiscsi_discover_firmware(struct libiscsi_context *context,
int *nr_found, struct libiscsi_node **found_nodes)
{
- struct boot_context fw_entry;
- struct node_rec rec;
+ struct list_head targets, ifaces, rec_list;
+ discovery_rec_t drec;
int rc = 0;
- if (nr_found)
+ INIT_LIST_HEAD(&targets);
+ INIT_LIST_HEAD(&ifaces);
+ INIT_LIST_HEAD(&rec_list);
+
+ if (nr_found) {
*nr_found = 0;
- if (found_nodes)
+ }
+
+ if (found_nodes) {
*found_nodes = NULL;
+ }
- memset(&fw_entry, 0, sizeof fw_entry);
- rc = fw_get_entry(&fw_entry);
+ rc = fw_get_targets(&targets);
if (rc) {
- strcpy(context->error_str, "Could not read fw values.");
+ log_error("%s: Could not get list of targets from firmware "
+ "(err %d).\n", __func__, rc);
return rc;
}
- memset(&rec, 0, sizeof rec);
- idbm_node_setup_defaults(&rec);
-
- strlcpy(rec.name, fw_entry.targetname, TARGET_NAME_MAXLEN);
- rec.tpgt = 1;
- strlcpy(rec.conn[0].address, fw_entry.target_ipaddr, NI_MAXHOST);
- rec.conn[0].port = fw_entry.target_port;
-
- iface_setup_defaults(&rec.iface);
- strncpy(rec.iface.iname, fw_entry.initiatorname,
- sizeof(fw_entry.initiatorname));
- strncpy(rec.session.auth.username, fw_entry.chap_name,
- sizeof(fw_entry.chap_name));
- strncpy((char *)rec.session.auth.password, fw_entry.chap_password,
- sizeof(fw_entry.chap_password));
- strncpy(rec.session.auth.username_in, fw_entry.chap_name_in,
- sizeof(fw_entry.chap_name_in));
- strncpy((char *)rec.session.auth.password_in,
- fw_entry.chap_password_in,
- sizeof(fw_entry.chap_password_in));
- rec.session.auth.password_length =
- strlen((char *)fw_entry.chap_password);
- rec.session.auth.password_in_length =
- strlen((char *)fw_entry.chap_password_in);
-
- CHECK(idbm_add_node(&rec, NULL, 1 /* overwrite */))
+ CHECK(iface_create_ifaces_from_boot_contexts(&ifaces, &targets));
+
+ memset(&drec, 0, sizeof(drec));
+ drec.type = DISCOVERY_TYPE_FW;
+ rc = idbm_bind_ifaces_to_nodes(discovery_fw, &drec, &ifaces, &rec_list);
+ if (rc) {
+ log_error("%s: Could not determine target nodes from firmware "
+ "(err %d).\n", __func__, rc);
+ goto leave;
+ }
+
+ int node_count = 0;
+ struct list_head *pos;
+ list_for_each(pos, &rec_list) {
+ ++node_count;
+ }
- if (nr_found)
- *nr_found = 1;
+ struct libiscsi_node* new_nodes;
+ /* allocate enough space for all the nodes */
+ new_nodes = calloc(node_count, sizeof *new_nodes);
+ if (new_nodes == NULL) {
+ rc = ENOMEM;
+ log_error("%s: %s.\n", __func__, strerror(ENOMEM));
+ goto leave;
+ }
+
+ struct node_rec *rec;
+ struct libiscsi_node *new_node = new_nodes;
+ /* in one loop, add nodes to idbm and create libiscsi_node entries */
+ list_for_each_entry(rec, &rec_list, list) {
+ CHECK(idbm_add_node(rec, NULL, 1 /* overwrite */));
+
+ strlcpy(new_node->name, rec->name, LIBISCSI_VALUE_MAXLEN);
+ new_node->tpgt = rec->tpgt;
+ strlcpy(new_node->address, rec->conn[0].address, NI_MAXHOST);
+ new_node->port = rec->conn[0].port;
+
+ ++new_node;
+ }
+ /* update output parameters */
+ if (nr_found) {
+ *nr_found = node_count;
+ }
if (found_nodes) {
- *found_nodes = calloc(1, sizeof **found_nodes);
- if (*found_nodes == NULL) {
- snprintf(context->error_str,
- sizeof(context->error_str), strerror(ENOMEM));
- rc = ENOMEM;
- goto leave;
- }
- strlcpy((*found_nodes)[0].name, rec.name,
- LIBISCSI_VALUE_MAXLEN);
- (*found_nodes)[0].tpgt = rec.tpgt;
- strlcpy((*found_nodes)[0].address,
- rec.conn[0].address, NI_MAXHOST);
- (*found_nodes)[0].port = rec.conn[0].port;
+ *found_nodes = new_nodes;
}
leave:
+ fw_free_targets(&targets);
+
+ free_iface_list(&ifaces);
+ free_rec_list(&rec_list);
+
return rc;
}
--
1.7.3.2

View File

@ -0,0 +1,237 @@
From 1971024a7c6c2c2cf848aba93bd85a707875f216 Mon Sep 17 00:00:00 2001
From: Manish Rangankar <manish.rangankar@qlogic.com>
Date: Wed, 12 Oct 2011 18:57:25 +0530
Subject: [PATCH 2/2] iscsi tools: Modified libisci to support offload.
For an offload solution like qla4xxx requires to do discovery on per port
basis from application. To do that libiscsi need to be modified to take
iSCSI HW address as a input parameter and find out the current active
iface for a given port. Using this iface we can do discovery to a
given port.
Signed-off-by: Manish Rangankar <manish.rangankar@qlogic.com>
---
libiscsi/libiscsi.c | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++
libiscsi/libiscsi.h | 33 +++++++++++
usr/iface.c | 2 +-
3 files changed, 182 insertions(+), 1 deletions(-)
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
index dc63fcd..9b15f01 100644
--- a/libiscsi/libiscsi.c
+++ b/libiscsi/libiscsi.c
@@ -202,6 +202,154 @@ leave:
return rc;
}
+static int get_active_ifaces_form_host(struct list_head *ifaces, char *hw_addr,
+ const char *address, int *nr_iface)
+{
+ int iptype = ISCSI_IFACE_TYPE_IPV4;
+ struct iface_rec *usr_iface, *tmp_iface;
+ struct list_head t_ifaces;
+ int rc = 0;
+
+ INIT_LIST_HEAD(&t_ifaces);
+
+ iface_link_ifaces(&t_ifaces);
+ list_for_each_entry_safe(usr_iface, tmp_iface, &t_ifaces, list) {
+ (*nr_iface)++;
+ if (strcmp(usr_iface->hwaddress, hw_addr)) {
+ (*nr_iface)--;
+ list_del(&usr_iface->list);
+ free(usr_iface);
+ }
+ }
+
+ if (!strstr(address, ".") && strstr(address, ":"))
+ iptype = ISCSI_IFACE_TYPE_IPV6;
+ else if (strstr(address, ".") && !strstr(address, ":"))
+ iptype = ISCSI_IFACE_TYPE_IPV4;
+
+ list_for_each_entry_safe(usr_iface, tmp_iface, &t_ifaces, list) {
+ if (iptype == ISCSI_IFACE_TYPE_IPV4) {
+ if (strstr(usr_iface->name, "ipv4")) {
+ iface_link(ifaces, usr_iface);
+ goto exit_iface;
+ }
+ } else if (iptype == ISCSI_IFACE_TYPE_IPV6) {
+ if (strstr(usr_iface->name, "ipv6")) {
+ iface_link(ifaces, usr_iface);
+ goto exit_iface;
+ }
+ }
+ }
+
+exit_iface:
+ free_iface_list(&t_ifaces);
+ return rc;
+}
+
+int libiscsi_discover_sendtargets_by_hwaddr(struct libiscsi_context *context,
+ const char *address, int port,
+ const struct libiscsi_auth_info *auth_info, char *hw_addr,
+ int *nr_found, struct libiscsi_node **found_nodes)
+{
+ struct discovery_rec drec;
+ LIST_HEAD(bound_rec_list);
+ struct list_head *ifaces, tmp;
+ struct node_rec *rec;
+ int rc = 0, found = 0, nr_iface = 0;
+
+ INIT_LIST_HEAD(&bound_rec_list);
+ INIT_LIST_HEAD(&tmp);
+
+ if (hw_addr == NULL) {
+ strcpy(context->error_str, "Invalid argument");
+ rc = EINVAL;
+ return rc;
+ }
+
+ rc = get_active_ifaces_form_host(&tmp, hw_addr, address,
+ &nr_iface);
+ if (rc == EINVAL) {
+ strcpy(context->error_str, "Invalid argument");
+ return rc;
+ } else if (nr_iface == 0) {
+ strcpy(context->error_str, "No iface record");
+ return ENODEV;
+ }
+ ifaces = &tmp;
+
+ if (nr_found)
+ *nr_found = 0;
+ if (found_nodes)
+ *found_nodes = NULL;
+
+ CHECK(libiscsi_verify_auth_info(context, auth_info))
+
+ /* Fill the drec struct with all needed info */
+ memset(&drec, 0, sizeof drec);
+ idbm_sendtargets_defaults(&drec.u.sendtargets);
+ drec.type = DISCOVERY_TYPE_SENDTARGETS;
+ strlcpy(drec.address, address, sizeof(drec.address));
+ drec.port = port ? port : ISCSI_LISTEN_PORT;
+ switch (auth_info ? auth_info->method : libiscsi_auth_none) {
+ case libiscsi_auth_chap:
+ drec.u.sendtargets.auth.authmethod = AUTH_METHOD_CHAP;
+ strlcpy(drec.u.sendtargets.auth.username,
+ auth_info->chap.username, AUTH_STR_MAX_LEN);
+ strlcpy((char *)drec.u.sendtargets.auth.password,
+ auth_info->chap.password, AUTH_STR_MAX_LEN);
+ drec.u.sendtargets.auth.password_length =
+ strlen((char *)drec.u.sendtargets.auth.password);
+ strlcpy(drec.u.sendtargets.auth.username_in,
+ auth_info->chap.reverse_username, AUTH_STR_MAX_LEN);
+ strlcpy((char *)drec.u.sendtargets.auth.password_in,
+ auth_info->chap.reverse_password, AUTH_STR_MAX_LEN);
+ drec.u.sendtargets.auth.password_in_length =
+ strlen((char *)drec.u.sendtargets.auth.password_in);
+ break;
+ }
+
+ CHECK(idbm_add_discovery(&drec))
+ CHECK(idbm_bind_ifaces_to_nodes(discovery_sendtargets,
+ &drec, ifaces, &bound_rec_list))
+
+ /* now add/update records */
+ list_for_each_entry(rec, &bound_rec_list, list) {
+ CHECK(idbm_add_node(rec, &drec, 1 /* overwrite */))
+ found++;
+ }
+
+ if (nr_found)
+ *nr_found = found;
+
+ if (found_nodes && found) {
+ *found_nodes = calloc(found, sizeof **found_nodes);
+ if (*found_nodes == NULL) {
+ snprintf(context->error_str,
+ sizeof(context->error_str), strerror(ENOMEM));
+ rc = ENOMEM;
+ goto leave;
+ }
+ found = 0;
+ list_for_each_entry(rec, &bound_rec_list, list) {
+ strlcpy((*found_nodes)[found].name, rec->name,
+ LIBISCSI_VALUE_MAXLEN);
+ (*found_nodes)[found].tpgt = rec->tpgt;
+ strlcpy((*found_nodes)[found].address,
+ rec->conn[0].address, NI_MAXHOST);
+ (*found_nodes)[found].port = rec->conn[0].port;
+ strlcpy((*found_nodes)[found].iface,
+ rec->iface.name, LIBISCSI_VALUE_MAXLEN);
+ found++;
+ }
+ }
+
+leave:
+ free_iface_list(ifaces);
+ free_rec_list(&bound_rec_list);
+ return rc;
+}
+
+
int libiscsi_discover_firmware(struct libiscsi_context *context,
int *nr_found, struct libiscsi_node **found_nodes)
{
diff --git a/libiscsi/libiscsi.h b/libiscsi/libiscsi.h
index 61ce0ea..1d8ae7c 100644
--- a/libiscsi/libiscsi.h
+++ b/libiscsi/libiscsi.h
@@ -142,6 +142,39 @@ PUBLIC int libiscsi_discover_sendtargets(struct libiscsi_context *context,
const char *address, int port, const struct libiscsi_auth_info *auth_info,
int *nr_found, struct libiscsi_node **found_nodes);
+/** \brief Discover iSCSI nodes using sendtargets and add them to the node db.
+ *
+ * This function connects to the given address and port and then tries to
+ * discover iSCSI nodes for a given iSCSI port using the sendtargets protocol.
+ * Any found nodes are added to the local iSCSI node database and are returned
+ * in a dynamically allocated array.
+ *
+ * Note that the (optional) authentication info is for authenticating the
+ * discovery, and is not for the found nodes! If the connection(s) to the
+ * node(s) need authentication too, you can set the username / password for
+ * those (which can be different!) using the libiscsi_node_set_auth() function.
+ *
+ * \param context libiscsi context to operate on.
+ * \param address Hostname or IP-address to connect to.
+ * \param port Port to connect to, or 0 for the default port.
+ * \param auth_info Authentication information, or NULL.
+ * \param hw_addr iSCSI iface mac address.
+ * \param nr_found The number of found nodes will be returned
+ * through this pointer if not NULL.
+ * \param found_nodes The address of the dynamically allocated array
+ * of found nodes will be returned through this
+ * pointer if not NULL. The caller must free this
+ * array using free().
+ * \return 0 on success, otherwise a standard error code
+ * (from errno.h).
+ */
+PUBLIC int libiscsi_discover_sendtargets_by_hwaddr(
+ struct libiscsi_context *context,
+ const char *address, int port,
+ const struct libiscsi_auth_info *auth_info,
+ char *hw_addr, int *nr_found,
+ struct libiscsi_node **found_nodes);
+
/** \brief Read iSCSI node info from firmware and add them to the node db.
*
* This function discovers iSCSI nodes using firmware (ppc or ibft). Any found
diff --git a/usr/iface.c b/usr/iface.c
index 9431a97..1531291 100644
--- a/usr/iface.c
+++ b/usr/iface.c
@@ -789,7 +789,7 @@ int iface_for_each_iface(void *data, int skip_def, int *nr_found,
return err;
}
-static int iface_link(void *data, struct iface_rec *iface)
+int iface_link(void *data, struct iface_rec *iface)
{
struct list_head *ifaces = data;
struct iface_rec *iface_copy;
--
1.7.1

View File

@ -0,0 +1,138 @@
diff -aurp open-iscsi-2.0-872-rc4-bnx2i/README open-iscsi-2.0-872-rc4-bnx2i.work/README
--- open-iscsi-2.0-872-rc4-bnx2i/README 2011-01-31 03:10:47.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/README 2011-01-31 06:36:18.000000000 -0600
@@ -403,8 +403,9 @@ this the following is not needed for sof
Warning!!!!!!
This feature is experimental. The interface may change. When reporting
bugs, if you cannot do a "ping -I ethX target_portal", then check your
-network settings first. If you cannot ping the portal, then you will
-not be able to bind a session to a NIC.
+network settings first. Make sure the rp_filter setting is set to 0 or 2
+(see Prep section below for more info). If you cannot ping the portal,
+then you will not be able to bind a session to a NIC.
What is a scsi_host and iface for software, hardware and partial
offload iscsi?
@@ -422,6 +423,32 @@ structure. For each HBA port or for soft
device (ethX) or NIC, that you wish to bind sessions to you must create
a iface config /var/lib/iscsi/ifaces.
+Prep:
+
+The iface binding feature requires the sysctl setting
+net.ipv4.conf.default.rp_filter to be set to 0 or 2. This can be set
+in /etc/sysctl.conf by having the line:
+
+net.ipv4.conf.default.rp_filter = N
+
+where N is 0 or 2. Note that when setting this you may have to reboot
+the box for the value to take effect.
+
+
+rp_filter information from Documentation/networking/ip-sysctl.txt:
+
+rp_filter - INTEGER
+ 0 - No source validation.
+ 1 - Strict mode as defined in RFC3704 Strict Reverse Path
+ Each incoming packet is tested against the FIB and if the interface
+ is not the best reverse path the packet check will fail.
+ By default failed packets are discarded.
+ 2 - Loose mode as defined in RFC3704 Loose Reverse Path
+ Each incoming packet's source address is also tested against the FIB
+ and if the source address is not reachable via any interface
+ the packet check will fail.
+
+
Running:
# iscsiadm -m iface
diff -aurp 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 2011-01-31 06:23:53.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator.c 2011-01-31 06:36:18.000000000 -0600
@@ -670,11 +670,11 @@ session_conn_reopen(iscsi_conn_t *conn,
static int iscsi_retry_initial_login(struct iscsi_conn *conn)
{
+ struct iscsi_session *session = conn->session;
int initial_login_retry_max;
struct timeval now, timeout, fail_time;
- initial_login_retry_max =
- conn->session->nrec.session.initial_login_retry_max;
+ initial_login_retry_max = session->nrec.session.initial_login_retry_max;
memset(&now, 0, sizeof(now));
memset(&timeout, 0, sizeof(timeout));
@@ -684,7 +684,7 @@ static int iscsi_retry_initial_login(str
if (gettimeofday(&now, NULL)) {
log_error("Could not get time of day. Dropping down to "
"max retry check.\n");
- return initial_login_retry_max > conn->session->reopen_cnt;
+ return initial_login_retry_max > session->reopen_cnt;
}
timeradd(&conn->initial_connect_time, &timeout, &fail_time);
@@ -693,9 +693,13 @@ static int iscsi_retry_initial_login(str
* then it is time to give up
*/
if (timercmp(&now, &fail_time, >)) {
- log_debug(1, "Giving up on initial login attempt after "
- "%u seconds.\n",
- initial_login_retry_max * conn->login_timeout);
+ log_error("Login timed out. Could not login to [target: %s, "
+ "portal: %s,%d] through [iface: %s].",
+ session->nrec.name,
+ session->nrec.conn[conn->id].address,
+ session->nrec.conn[conn->id].port,
+ session->nrec.iface.name);
+ iscsi_warn_on_iface_cfg(&conn->session->nrec);
return 0;
}
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 2011-01-31 03:10:47.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_util.c 2011-01-31 06:36:18.000000000 -0600
@@ -259,3 +259,16 @@ int iscsi_match_session(void *data, stru
info->persistent_address,
info->persistent_port, &info->iface);
}
+
+void iscsi_warn_on_iface_cfg(struct node_rec *rec)
+{
+ if (strcmp(rec->iface.name, DEFAULT_IFACENAME) &&
+ !strcmp(rec->iface.transport_name, DEFAULT_TRANSPORT) &&
+ (iface_is_bound_by_hwaddr(&rec->iface) ||
+ iface_is_bound_by_netdev(&rec->iface)))
+ log_error("Make sure you can ping the portal with "
+ "'ping -I ethX IP', and try adjusting "
+ "net.ipv4.conf.default.rp_filter to 2 or 0 "
+ "in /etc/sysctl.conf (a reboot may be needed "
+ "after changing the sysctl settings).");
+}
diff -aurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_util.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_util.h
--- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_util.h 2011-01-31 03:10:47.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_util.h 2011-01-31 06:36:18.000000000 -0600
@@ -21,4 +21,6 @@ extern int __iscsi_match_session(struct
extern char *strstrip(char *s);
extern char *cfg_get_string_param(char *pathname, const char *key);
+extern void iscsi_warn_on_iface_cfg(struct node_rec *rec);
+
#endif
diff -aurp 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 2011-01-31 03:10:47.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/session_mgmt.c 2011-01-31 06:36:18.000000000 -0600
@@ -42,6 +42,13 @@ static void log_login_msg(struct node_re
rec->name, rec->conn[0].address,
rec->conn[0].port);
iscsi_err_print_msg(rc);
+
+ /*
+ * If using iface binding with tcp then warn about
+ * change in kernel behavior.
+ */
+ if (rc == ISCSI_ERR_TRANS_TIMEOUT)
+ iscsi_warn_on_iface_cfg(rec);
} else
log_info("Login to [iface: %s, target: %s, portal: "
"%s,%d] successful.", rec->iface.name,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,327 @@
From b15710a9b96c15e8cdcf3dcfda7b40559d565b3c Mon Sep 17 00:00:00 2001
From: Eddie Wai <eddie.wai@broadcom.com>
Date: Mon, 15 Oct 2012 14:47:54 -0700
Subject: [PATCH] ISCSIUIO: Updated to 0.7.6.1
Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
---
iscsiuio/README | 4 ++--
iscsiuio/RELEASE.TXT | 34 ++++++++++++++++++++++++++++++++--
iscsiuio/configure | 18 +++++++++---------
iscsiuio/configure.ac | 4 ++--
iscsiuio/docs/iscsiuio.8 | 4 ++--
iscsiuio/src/uip/uip_arp.c | 1 -
iscsiuio/src/unix/libs/bnx2x.c | 19 ++++++++++++++++---
iscsiuio/src/unix/libs/bnx2x.h | 8 +++++++-
iscsiuio/src/unix/nic.c | 3 ++-
iscsiuio/src/unix/nic_nl.c | 2 +-
10 files changed, 73 insertions(+), 24 deletions(-)
diff --git a/iscsiuio/README b/iscsiuio/README
index a716263..e5ee23f 100644
--- a/iscsiuio/README
+++ b/iscsiuio/README
@@ -1,6 +1,6 @@
iscsiuio Userspace Tool
-Version 0.7.4.3
-Aug 16, 2012
+Version 0.7.6.1
+Oct 09, 2012
------------------------------------------------------
This tool is to be used in conjunction with the Broadcom NetXtreme II Linux
diff --git a/iscsiuio/RELEASE.TXT b/iscsiuio/RELEASE.TXT
index cb1d470..0e7665c 100644
--- a/iscsiuio/RELEASE.TXT
+++ b/iscsiuio/RELEASE.TXT
@@ -1,7 +1,7 @@
Release Notes
Broadcom uIP Linux Driver
- Version 0.7.4.3
- 08/16/2012
+ Version 0.7.6.1
+ 10/15/2012
Broadcom Corporation
5300 California Avenue,
@@ -11,6 +11,36 @@
All rights reserved
+uIP v0.7.6.1 (Oct 15, 2012)
+=======================================================
+ Fixes
+ -----
+ 1. Problem: Cont00065690 - Vconfig method of connecting over
+ tagged vlan with IPv6 failed
+ Cause: The new net param support changes has prevented
+ the old vconfig method from execising the IPv6
+ acquisition engine properly
+ Change: Ensure that this old vconfig method to run the IPv6
+ acquisition engine properly and to its entirety
+ Impact: IPv6 + VLAN using the network VLAN configuration
+ method
+
+ 2. Problem: Cont00065768 - RHEL5.X iscsiuio segfault possible
+ if there is a specific 1024 byte size broadcast
+ packet
+ Cause: This is a corner case where the packet size is
+ exactly 1024 bytes + padding that exceeded the
+ DMA rx buffer. This has been there since day 1.
+ Change: Ensure that the packet size + padding do not
+ exceed this limit.
+ Impact: 10G only. 1G already has the guard against it.
+
+ Enhancements
+ ------------
+ 1. Change: Added support for 10G 57840 4x10 and 2x20
+ Impact: 10G 57840
+
+
uIP v0.7.4.3 (Aug 16, 2012)
=======================================================
Fixes
diff --git a/iscsiuio/configure b/iscsiuio/configure
index 6ff2e68..0b2abc4 100644
--- a/iscsiuio/configure
+++ b/iscsiuio/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for iscsiuio 0.7.4.3.
+# Generated by GNU Autoconf 2.59 for iscsiuio 0.7.6.1.
#
# Report bugs to <eddie.wai@broadcom.com>.
#
@@ -423,8 +423,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='iscsiuio'
PACKAGE_TARNAME='iscsiuio'
-PACKAGE_VERSION='0.7.4.3'
-PACKAGE_STRING='iscsiuio 0.7.4.3'
+PACKAGE_VERSION='0.7.6.1'
+PACKAGE_STRING='iscsiuio 0.7.6.1'
PACKAGE_BUGREPORT='eddie.wai@broadcom.com'
# Factoring default headers for most tests.
@@ -954,7 +954,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures iscsiuio 0.7.4.3 to adapt to many kinds of systems.
+\`configure' configures iscsiuio 0.7.6.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1020,7 +1020,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of iscsiuio 0.7.4.3:";;
+ short | recursive ) echo "Configuration of iscsiuio 0.7.6.1:";;
esac
cat <<\_ACEOF
@@ -1161,7 +1161,7 @@ fi
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-iscsiuio configure 0.7.4.3
+iscsiuio configure 0.7.6.1
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1175,7 +1175,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by iscsiuio $as_me 0.7.4.3, which was
+It was created by iscsiuio $as_me 0.7.6.1, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -21726,7 +21726,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
-This file was extended by iscsiuio $as_me 0.7.4.3, which was
+This file was extended by iscsiuio $as_me 0.7.6.1, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21789,7 +21789,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-iscsiuio config.status 0.7.4.3
+iscsiuio config.status 0.7.6.1
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/iscsiuio/configure.ac b/iscsiuio/configure.ac
index 0b1e7f1..1045a80 100644
--- a/iscsiuio/configure.ac
+++ b/iscsiuio/configure.ac
@@ -11,9 +11,9 @@ dnl Maintained by: Eddie Wai (eddie.wai@broadcom.com)
dnl
PACKAGE=iscsiuio
-VERSION=0.7.4.3
+VERSION=0.7.6.1
-AC_INIT(iscsiuio, 0.7.4.3, eddie.wai@broadcom.com)
+AC_INIT(iscsiuio, 0.7.6.1, eddie.wai@broadcom.com)
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
AC_CONFIG_HEADER(config.h)
diff --git a/iscsiuio/docs/iscsiuio.8 b/iscsiuio/docs/iscsiuio.8
index 4bf26df..d107327 100644
--- a/iscsiuio/docs/iscsiuio.8
+++ b/iscsiuio/docs/iscsiuio.8
@@ -3,9 +3,9 @@
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation.
.\"
-.\" bnx2.4,v 0.7.4.3
+.\" bnx2.4,v 0.7.6.1
.\"
-.TH iscsiuio 8 "08/16/2012" "Broadcom Corporation"
+.TH iscsiuio 8 "10/09/2012" "Broadcom Corporation"
.\"
.\" NAME part
.\"
diff --git a/iscsiuio/src/uip/uip_arp.c b/iscsiuio/src/uip/uip_arp.c
index 3ef3b07..9dd02a1 100644
--- a/iscsiuio/src/uip/uip_arp.c
+++ b/iscsiuio/src/uip/uip_arp.c
@@ -273,7 +273,6 @@ uip_arp_arpin(nic_interface_t * nic_iface,
pkt->buf_size = sizeof(*arp) +
sizeof(struct uip_vlan_eth_hdr);
}
- pkt->buf_size = sizeof(*arp) + sizeof(*eth);
}
break;
case const_htons(ARP_REPLY):
diff --git a/iscsiuio/src/unix/libs/bnx2x.c b/iscsiuio/src/unix/libs/bnx2x.c
index 5e33420..70e85c0 100644
--- a/iscsiuio/src/unix/libs/bnx2x.c
+++ b/iscsiuio/src/unix/libs/bnx2x.c
@@ -103,6 +103,10 @@ static const char brcm_57840_MF[] = "Broadcom NetXtreme II BCM57840 MF "
"10-Gigabit";
static const char brcm_57840_VF[] = "Broadcom NetXtreme II BCM57840 VF "
"10-Gigabit";
+static const char brcm_57840_4_10[] = "Broadcom NetXtreme II BCM57840 4x"
+ "10-Gigabit";
+static const char brcm_57840_2_20[] = "Broadcom NetXtreme II BCM57840 2x"
+ "20-Gigabit";
/*******************************************************************************
* PCI ID constants
@@ -123,6 +127,8 @@ static const char brcm_57840_VF[] = "Broadcom NetXtreme II BCM57840 VF "
#define PCI_DEVICE_ID_NX2_57840 0x168d
#define PCI_DEVICE_ID_NX2_57840_MF 0x16ab
#define PCI_DEVICE_ID_NX2_57840_VF 0x16ad
+#define PCI_DEVICE_ID_NX2_57840_4_10 0x16a1
+#define PCI_DEVICE_ID_NX2_57840_2_20 0x16a2
#define PCI_ANY_ID (~0)
/* This is the table used to match PCI vendor and device ID's to the
@@ -158,6 +164,10 @@ static const struct pci_device_id bnx2x_pci_tbl[] = {
PCI_ANY_ID, PCI_ANY_ID, brcm_57840_MF},
{PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_57840_VF,
PCI_ANY_ID, PCI_ANY_ID, brcm_57840_VF},
+ {PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_57840_4_10,
+ PCI_ANY_ID, PCI_ANY_ID, brcm_57840_4_10},
+ {PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_57840_2_20,
+ PCI_ANY_ID, PCI_ANY_ID, brcm_57840_2_20},
};
static struct iro e1_iro[2] = {
@@ -1401,7 +1411,7 @@ static int bnx2x_read(nic_t * nic, packet_t * pkt)
union eth_rx_cqe *cqe;
__u8 cqe_fp_flags;
void *rx_pkt;
- int len, pad, cqe_size;
+ int len, pad, cqe_size, max_len;
rc = 1;
if (bnx2x_is_ver70(bp)) {
@@ -1427,10 +1437,13 @@ static int bnx2x_read(nic_t * nic, packet_t * pkt)
/* Doto query MTU size of physical device */
/* Ensure len is valid */
- if (len > pkt->max_buf_size)
+ max_len = pkt->max_buf_size < bp->rx_buffer_size ?
+ pkt->max_buf_size : bp->rx_buffer_size;
+ if (len > max_len) {
LOG_DEBUG(PFX "%s: bad BD length: %d",
nic->log_name, len);
-
+ len = max_len;
+ }
if (len > 0) {
msync(rx_pkt, len, MS_SYNC);
/* Copy the data */
diff --git a/iscsiuio/src/unix/libs/bnx2x.h b/iscsiuio/src/unix/libs/bnx2x.h
index b758179..1f47011 100644
--- a/iscsiuio/src/unix/libs/bnx2x.h
+++ b/iscsiuio/src/unix/libs/bnx2x.h
@@ -430,6 +430,8 @@ struct client_init_general_data {
#define CHIP_NUM_57800 0x168a
#define CHIP_NUM_57810 0x168e
#define CHIP_NUM_57840 0x168d
+#define CHIP_NUM_57840_4_10 0x16a1
+#define CHIP_NUM_57840_2_20 0x16a2
#define CHIP_IS_E1(bp) (BNX2X_CHIP_NUM(bp) == CHIP_NUM_57710)
#define CHIP_IS_57711(bp) (BNX2X_CHIP_NUM(bp) == CHIP_NUM_57711)
@@ -438,7 +440,11 @@ struct client_init_general_data {
#define CHIP_IS_57712E(bp) (BNX2X_CHIP_NUM(bp) == CHIP_NUM_57712E)
#define CHIP_IS_57800(bp) (BNX2X_CHIP_NUM(bp) == CHIP_NUM_57800)
#define CHIP_IS_57810(bp) (BNX2X_CHIP_NUM(bp) == CHIP_NUM_57810)
-#define CHIP_IS_57840(bp) (BNX2X_CHIP_NUM(bp) == CHIP_NUM_57840)
+#define CHIP_IS_57840_4_10(bp) (BNX2X_CHIP_NUM(bp) == CHIP_NUM_57840_4_10)
+#define CHIP_IS_57840_2_20(bp) (BNX2X_CHIP_NUM(bp) == CHIP_NUM_57840_2_20)
+#define CHIP_IS_57840(bp) (BNX2X_CHIP_NUM(bp) == CHIP_NUM_57840 || \
+ CHIP_IS_57840_4_10(bp) || \
+ CHIP_IS_57840_2_20(bp))
#define CHIP_IS_E1H(bp) (CHIP_IS_57711(bp) || \
CHIP_IS_57711E(bp))
#define CHIP_IS_E2(bp) (CHIP_IS_57712(bp) || \
diff --git a/iscsiuio/src/unix/nic.c b/iscsiuio/src/unix/nic.c
index 0b3c538..72afff0 100644
--- a/iscsiuio/src/unix/nic.c
+++ b/iscsiuio/src/unix/nic.c
@@ -460,6 +460,7 @@ int nic_remove(nic_t * nic)
rc = stat(nic->uio_device_name, &file_stat);
if ((rc == 0) && (nic->ops))
nic->ops->close(nic, 0);
+ pthread_mutex_unlock(&nic->nic_mutex);
nic->state = NIC_EXIT;
@@ -910,7 +911,7 @@ int do_timers_per_nic_iface(nic_t *nic, nic_interface_t *nic_iface,
if (pkt == NULL)
return -EIO;
- if (nic_iface->ustack.ip_config == AF_INET) {
+ if (nic_iface->protocol == AF_INET) {
for (i = 0; i < UIP_UDP_CONNS; i++) {
prepare_ustack(nic, nic_iface, ustack, pkt);
diff --git a/iscsiuio/src/unix/nic_nl.c b/iscsiuio/src/unix/nic_nl.c
index 34e2062..8afd9ae 100644
--- a/iscsiuio/src/unix/nic_nl.c
+++ b/iscsiuio/src/unix/nic_nl.c
@@ -408,7 +408,7 @@ static int ctldev_handle(char *data, nic_t *nic)
persist_all_nic_iface(nic);
nic_iface = vlan_iface;
-
+ nic_iface->flags |= NIC_IFACE_ACQUIRE;
pthread_mutex_unlock(&nic->nic_mutex);
/* nic_disable but not going down */
--
1.7.7.4

View File

@ -1,6 +1,6 @@
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/include/iscsi_err.h open-iscsi-2.0-872-rc4-bnx2i.build/include/iscsi_err.h
--- open-iscsi-2.0-872-rc4-bnx2i.base/include/iscsi_err.h 2011-08-14 16:49:44.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/include/iscsi_err.h 2011-08-14 16:56:54.000000000 -0500
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 2012-03-05 23:36:21.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/include/iscsi_err.h 2012-03-05 23:36:29.000000000 -0600
@@ -58,6 +58,8 @@ enum {
ISCSI_ERR_ISNS_QUERY = 25,
/* iSNS registration/deregistration failed */
@ -10,21 +10,21 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/include/iscsi_err.h open-iscsi-2.0
/* Always last. Indicates end of error code space */
ISCSI_MAX_ERR_VAL,
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/Makefile open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/Makefile
--- open-iscsi-2.0-872-rc4-bnx2i.base/libiscsi/Makefile 2011-08-14 16:55:23.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/libiscsi/Makefile 2011-08-14 16:56:54.000000000 -0500
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 2012-03-05 23:36:21.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/libiscsi/Makefile 2012-03-05 23:37:25.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 transport.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o dcb_app.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 = 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 dcb_app.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 = netlink.o transport.o iser.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o dcb_app.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 = netlink.o uip_mgmt_ipc.o transport.o iser.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o dcb_app.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.base/usr/initiator.c open-iscsi-2.0-872-rc4-bnx2i.build/usr/initiator.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/initiator.c 2011-08-14 16:49:44.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/initiator.c 2011-08-14 16:56:54.000000000 -0500
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 2012-03-05 23:36:21.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator.c 2012-03-05 23:36:29.000000000 -0600
@@ -45,6 +45,7 @@
#include "iscsi_sysfs.h"
#include "iscsi_settings.h"
@ -32,7 +32,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/initiator.c open-iscsi-2.0-872
+#include "host.h"
#include "sysdeps.h"
#include "iscsi_err.h"
#include "kern_err_table.h"
@@ -557,6 +558,48 @@ static int iscsi_conn_connect(struct isc
return 0;
}
@ -94,7 +94,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/initiator.c open-iscsi-2.0-872
if (iscsi_conn_connect(conn, qtask)) {
delay = ISCSI_CONN_ERR_REOPEN_DELAY;
goto queue_reopen;
@@ -1659,6 +1707,53 @@ failed_login:
@@ -1667,6 +1715,53 @@ failed_login:
}
@ -148,7 +148,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/initiator.c open-iscsi-2.0-872
static int iscsi_sched_ev_context(struct iscsi_ev_context *ev_context,
struct iscsi_conn *conn, unsigned long tmo,
int event)
@@ -1700,6 +1795,11 @@ static int iscsi_sched_ev_context(struct
@@ -1708,6 +1803,11 @@ static int iscsi_sched_ev_context(struct
ev_context);
actor_schedule(&ev_context->actor);
break;
@ -160,7 +160,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/initiator.c open-iscsi-2.0-872
case EV_CONN_LOGOUT_TIMER:
actor_timer(&ev_context->actor, tmo * 1000,
iscsi_logout_timedout, ev_context);
@@ -1833,7 +1933,17 @@ session_login_task(node_rec_t *rec, queu
@@ -1841,7 +1941,17 @@ session_login_task(node_rec_t *rec, queu
conn = &session->conn[0];
qtask->conn = conn;
@ -179,7 +179,7 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/initiator.c open-iscsi-2.0-872
__session_destroy(session);
return ISCSI_ERR_LOGIN;
}
@@ -1990,6 +2100,7 @@ iscsi_host_send_targets(queue_task_t *qt
@@ -1998,6 +2108,7 @@ iscsi_host_send_targets(queue_task_t *qt
struct sockaddr_storage *ss)
{
struct iscsi_transport *t;
@ -187,9 +187,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/initiator.c open-iscsi-2.0-872
t = iscsi_sysfs_get_transport_by_hba(host_no);
if (!t) {
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/initiator_common.c open-iscsi-2.0-872-rc4-bnx2i.build/usr/initiator_common.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/initiator_common.c 2011-08-14 16:49:44.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/initiator_common.c 2011-08-14 16:56:54.000000000 -0500
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-05 23:36:21.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator_common.c 2012-03-05 23:36:29.000000000 -0600
@@ -561,6 +561,36 @@ TODO handle this
return 0;
}
@ -238,9 +238,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/initiator_common.c open-iscsi-
rc = host_set_param(t, session->hostno,
ISCSI_HOST_PARAM_IPADDRESS,
iface->ipaddress, ISCSI_STRING);
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/initiator.h open-iscsi-2.0-872-rc4-bnx2i.build/usr/initiator.h
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/initiator.h 2011-08-14 16:49:44.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/initiator.h 2011-08-14 16:58:14.000000000 -0500
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 2012-03-05 23:36:21.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/initiator.h 2012-03-05 23:36:29.000000000 -0600
@@ -83,6 +83,7 @@ typedef enum iscsi_event_e {
EV_CONN_LOGOUT_TIMER,
EV_CONN_STOP,
@ -258,9 +258,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/initiator.h open-iscsi-2.0-872
+ struct iface_rec *iface);
#endif /* INITIATOR_H */
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsid_req.c open-iscsi-2.0-872-rc4-bnx2i.build/usr/iscsid_req.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsid_req.c 2011-08-14 16:49:44.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/iscsid_req.c 2011-08-14 16:56:54.000000000 -0500
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 2012-03-05 23:36:21.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid_req.c 2012-03-05 23:36:29.000000000 -0600
@@ -22,6 +22,7 @@
#include <stdlib.h>
#include <string.h>
@ -391,9 +391,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsid_req.c open-iscsi-2.0-87
+ close(fd);
+ return err;
+}
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsid_req.h open-iscsi-2.0-872-rc4-bnx2i.build/usr/iscsid_req.h
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsid_req.h 2011-08-14 16:49:44.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/iscsid_req.h 2011-08-14 16:56:54.000000000 -0500
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 2012-03-05 23:36:21.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid_req.h 2012-03-05 23:36:29.000000000 -0600
@@ -33,4 +33,6 @@ extern int iscsid_req_by_rec(int cmd, st
extern int iscsid_req_by_sid_async(int cmd, int sid, int *fd);
extern int iscsid_req_by_sid(int cmd, int sid);
@ -401,9 +401,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsid_req.h open-iscsi-2.0-87
+extern int uip_broadcast(void *buf, size_t buf_len);
+
#endif
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsi_err.c open-iscsi-2.0-872-rc4-bnx2i.build/usr/iscsi_err.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsi_err.c 2011-08-14 16:49:44.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/iscsi_err.c 2011-08-14 16:56:54.000000000 -0500
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 2012-03-05 23:36:21.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_err.c 2012-03-05 23:36:29.000000000 -0600
@@ -49,6 +49,7 @@ static char *iscsi_err_msgs[] = {
/* 24 */ "iSCSI login failed due to authorization failure",
/* 25 */ "iSNS query failed",
@ -412,22 +412,22 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/iscsi_err.c open-iscsi-2.0-872
};
char *iscsi_err_to_str(int err)
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/Makefile open-iscsi-2.0-872-rc4-bnx2i.build/usr/Makefile
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/Makefile 2011-08-14 16:55:23.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/Makefile 2011-08-14 16:58:57.000000000 -0500
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-05 23:36:21.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/Makefile 2012-03-05 23:38:00.000000000 -0600
@@ -42,7 +42,8 @@ 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 \
iscsi_net_util.o iscsid_req.o transport.o iser.o cxgbi.o be2iscsi.o \
- initiator_common.o iscsi_err.o $(IPC_OBJ) $(SYSDEPS_SRCS) $(DCB_OBJ)
+ initiator_common.o iscsi_err.o uip_mgmt_ipc.o \
+ $(IPC_OBJ) $(SYSDEPS_SRCS) $(DCB_OBJ)
# core initiator files
INITIATOR_SRCS = initiator.o scsi.o actor.o event_poll.o mgmt_ipc.o
INITIATOR_SRCS = initiator.o scsi.o actor.o event_poll.o mgmt_ipc.o kern_err_table.o
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/transport.c open-iscsi-2.0-872-rc4-bnx2i.build/usr/transport.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/transport.c 2011-08-14 16:49:44.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/transport.c 2011-08-14 16:56:54.000000000 -0500
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-05 23:36:21.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/transport.c 2012-03-05 23:36:29.000000000 -0600
@@ -25,6 +25,7 @@
#include "log.h"
#include "iscsi_util.h"
@ -435,8 +435,8 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/transport.c open-iscsi-2.0-872
+#include "uip_mgmt_ipc.h"
#include "cxgbi.h"
#include "be2iscsi.h"
@@ -67,6 +68,7 @@ struct iscsi_transport_template bnx2i =
#include "iser.h"
@@ -69,6 +70,7 @@ struct iscsi_transport_template bnx2i =
.ep_connect = ktransport_ep_connect,
.ep_poll = ktransport_ep_poll,
.ep_disconnect = ktransport_ep_disconnect,
@ -444,9 +444,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/transport.c open-iscsi-2.0-872
};
struct iscsi_transport_template be2iscsi = {
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/transport.h open-iscsi-2.0-872-rc4-bnx2i.build/usr/transport.h
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/transport.h 2011-08-14 16:49:34.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/transport.h 2011-08-14 16:56:54.000000000 -0500
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-05 23:36:21.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/transport.h 2012-03-05 23:36:29.000000000 -0600
@@ -35,6 +35,9 @@ struct iscsi_transport_template {
int (*ep_poll) (struct iscsi_conn *conn, int timeout_ms);
void (*ep_disconnect) (struct iscsi_conn *conn);
@ -457,9 +457,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/transport.h open-iscsi-2.0-872
};
/* represents data path provider */
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/uip_mgmt_ipc.c open-iscsi-2.0-872-rc4-bnx2i.build/usr/uip_mgmt_ipc.c
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/uip_mgmt_ipc.c 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/uip_mgmt_ipc.c 2011-08-14 16:56:54.000000000 -0500
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/uip_mgmt_ipc.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/uip_mgmt_ipc.c
--- open-iscsi-2.0-872-rc4-bnx2i/usr/uip_mgmt_ipc.c 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/uip_mgmt_ipc.c 2012-03-05 23:36:29.000000000 -0600
@@ -0,0 +1,41 @@
+/*
+ * uIP iSCSI Daemon/Admin Management IPC
@ -502,9 +502,9 @@ diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/uip_mgmt_ipc.c open-iscsi-2.0-
+ sizeof(iscsid_uip_broadcast_header_t) +
+ sizeof(*iface));
+}
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/usr/uip_mgmt_ipc.h open-iscsi-2.0-872-rc4-bnx2i.build/usr/uip_mgmt_ipc.h
--- open-iscsi-2.0-872-rc4-bnx2i.base/usr/uip_mgmt_ipc.h 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.build/usr/uip_mgmt_ipc.h 2011-08-14 16:56:54.000000000 -0500
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/usr/uip_mgmt_ipc.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/uip_mgmt_ipc.h
--- open-iscsi-2.0-872-rc4-bnx2i/usr/uip_mgmt_ipc.h 1969-12-31 18:00:00.000000000 -0600
+++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/uip_mgmt_ipc.h 2012-03-05 23:36:29.000000000 -0600
@@ -0,0 +1,73 @@
+/*
+ * uIP iSCSI Daemon/Admin Management IPC

View File

@ -1,16 +1,18 @@
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
Summary: iSCSI daemon and utility programs
Name: iscsi-initiator-utils
Version: 6.2.0.872
Release: 19%{?dist}
Version: 6.2.0.873
Release: 2%{?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
Source3: 04-iscsi
# sync brcm to 0.7.0.12
Patch0: iscsi-initiator-utils-sync-uio-0.7.0.8.patch
# sync iscsi tools to upstream commit e8c5b1d34ee5ce0a755ff54518829156dfa5fabe
# sync brcm to 0.7.2.1
Patch0: iscsi-initiator-utils-sync-uio-0.7.2.1.patch
# sync iscsi tools to upstream commit 2e342633db5ac211947ffad1d8da718f6f065d3e
# (iscsi tools: update iscsi_if.h for host event)
Patch1: iscsi-initiator-utils-sync-iscsi.patch
# Add Red Hat specific info to docs.
Patch2: iscsi-initiator-utils-update-initscripts-and-docs.patch
@ -26,35 +28,36 @@ Patch6: iscsi-initiator-utils-uip-mgmt.patch
Patch7: iscsi-initiator-utils-dont-use-static.patch
# Remove the OFFLOAD_BOOT_SUPPORTED #ifdef.
Patch8: iscsi-initiator-utils-remove-the-offload-boot-supported-ifdef.patch
# brcm uio: handle the different iface_rec structures in iscsid and brcm.
Patch9: iscsi-initiator-utils-uio-handle-different-iface_rec.patch
# Document missing brcm arguments
Patch10: iscsi-initiator-utils-brcm-man.patch
# setup default ifaces for all ifaces in kernel
Patch11: iscsi-initiator-utils-fix-default-bindings.patch
# fix iscsiadm return value/msg when login fails
Patch12: iscsi-initiator-utils-fix-iscsiadm-return.patch
# don't use openssl-devel
Patch13: iscsi-initiator-utils-dont-use-openssl.patch
# sync uio to 0.7.0.14
Patch14: iscsi-initiator-utils-sync-uio-0.7.0.14.patch
# fix nl msglen
Patch15: iscsi-initiator-utils-fix-nlmsglen.patch
# fixes for offload iface support
Patch16: iscsi-initiator-utils-ofl-iface-fixes.patch
# fix ipv6 ibft/firmware boot
Patch17: iscsi-initiator-utils-fix-ipv6-boot.patch
Patch9: iscsi-initiator-utils-fix-ipv6-boot.patch
# netconfig libiscsi support
Patch10: iscsi-initiator-utils-Add-Netconfig-support-through-libiscsi.patch
# libiscsi offload support
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 6676a1cf6f2d23961e9db70155b5d0e5ce511989
Patch13: iscsi-initiator-utils-mod-iface-andport-fixes.patch
# sync brcm to 0.7.4.3
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
# sync brcm to 0.7.6.1
Patch18: iscsi-initiator-utils-sync-uio-0.7.6.1.patch
# add rhel version info to iscsi tools
Patch18: iscsi-initiator-utils-add-rh-ver.patch
Patch90: iscsi-initiator-utils-add-rh-ver.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 glibc-static
# For dir ownership
Requires: initscripts
BuildRequires: flex bison python-devel doxygen kernel-headers
Requires(post): chkconfig
Requires(preun): chkconfig /sbin/service
@ -75,7 +78,7 @@ developing applications that use %{name}.
%prep
%setup -q -n open-iscsi-2.0-872-rc4-bnx2i
%patch0 -p1 -b .sync-uio-0.7.0.8
%patch0 -p1 -b .sync-uio-0.7.2.1
%patch1 -p1 -b .sync-iscsi
%patch2 -p1 -b .update-initscripts-and-docs
%patch3 -p1 -b .use-var-for-config
@ -84,20 +87,21 @@ developing applications that use %{name}.
%patch6 -p1 -b .uip-mgmt
%patch7 -p1 -b .dont-use-static
%patch8 -p1 -b .remove-the-offload-boot-supported-ifdef
%patch9 -p1 -b .uio-handle-different-iface_rec
%patch10 -p1 -b .brcm-man
%patch11 -p1 -b .fix-default-bindings
%patch12 -p1 -b .fix-iscsiadm-return
%patch13 -p1 -b .dont-use-openssl
%patch14 -p1 -b .sync-uio-0.7.0.14
%patch15 -p1 -b .fix-nlmsglen
%patch16 -p1 -b .ofl-iface-fixes
%patch17 -p1 -b .fix-ipv6-boot
%patch18 -p1 -b .add-rh-ver
%patch9 -p1 -b .fix-ipv6-boot
%patch10 -p1 -b .Add-Netconfig-support-through-libiscsi
%patch11 -p1 -b .libiscsi-to-support-offload
%patch12 -p1 -b .ping-and-chap
%patch13 -p1 -b .mod-iface-andport-fixes
%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
%patch18 -p1 -b .sync-uio-0.7.6.1
%patch90 -p1 -b .add-rh-ver
%build
cd utils/open-isns
./configure --with-security=no
./configure --with-security=no --with-slp=no
make OPTFLAGS="%{optflags}"
cd ../../
make OPTFLAGS="%{optflags}" -C utils/sysdeps
@ -114,10 +118,8 @@ cd ..
pushd libiscsi
python setup.py build
touch -r libiscsi.doxy html/*
popd
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/sbin
@ -141,14 +143,14 @@ mkdir -p $RPM_BUILD_ROOT%{python_sitearch}
install -p -m 755 usr/iscsid usr/iscsiadm utils/iscsi-iname usr/iscsistart $RPM_BUILD_ROOT/sbin
install -m 755 iscsiuio/src/unix/iscsiuio $RPM_BUILD_ROOT/sbin
install -p -m 644 doc/iscsiadm.8 $RPM_BUILD_ROOT/%{_mandir}/man8
install -p -m 644 doc/iscsid.8 $RPM_BUILD_ROOT/%{_mandir}/man8
install -p -m 644 etc/iscsid.conf $RPM_BUILD_ROOT%{_sysconfdir}/iscsi
install -p -m 644 doc/iscsistart.8 $RPM_BUILD_ROOT/%{_mandir}/man8
install -p -m 644 doc/iscsi-iname.8 $RPM_BUILD_ROOT/%{_mandir}/man8
install -p -m 644 iscsiuio/docs/iscsiuio.8 $RPM_BUILD_ROOT/%{_mandir}/man8
install -p -m 644 iscsiuio/iscsiuiolog $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
install -p -m 755 iscsiuio/src/unix/iscsiuio $RPM_BUILD_ROOT/sbin
install -p -m 644 etc/iscsid.conf $RPM_BUILD_ROOT%{_sysconfdir}/iscsi
install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/iscsid
install -p -m 755 %{SOURCE2} $RPM_BUILD_ROOT%{_initrddir}/iscsi
@ -160,9 +162,8 @@ install -p -m 644 libiscsi/libiscsi.h $RPM_BUILD_ROOT%{_includedir}
install -p -m 755 libiscsi/build/lib.linux-*/libiscsimodule.so \
$RPM_BUILD_ROOT%{python_sitearch}
# for %%ghost
touch $RPM_BUILD_ROOT/var/lock/iscsi/lock
#compat support for older tools that are not aware of the name change
ln -s iscsiuio $RPM_BUILD_ROOT/sbin/brcm_iscsiuio
%clean
@ -170,6 +171,7 @@ rm -rf $RPM_BUILD_ROOT
%post
/sbin/ldconfig
if [ "$1" -eq "1" ]; then
if [ ! -f %{_sysconfdir}/iscsi/initiatorname.iscsi ]; then
echo "InitiatorName=`/sbin/iscsi-iname`" > %{_sysconfdir}/iscsi/initiatorname.iscsi
@ -177,13 +179,6 @@ if [ "$1" -eq "1" ]; then
/sbin/chkconfig --add iscsid
/sbin/chkconfig --add iscsi
fi
# To make sure iscsid autostart works when upgrading from a version which
# did not have this in its config file
if ! grep -q 'iscsid\.startup' %{_sysconfdir}/iscsi/iscsid.conf; then
echo -e "\n\n# For iscsid autostart" \
"\niscsid.startup = /etc/rc.d/init.d/iscsid force-start" >> \
%{_sysconfdir}/iscsi/iscsid.conf
fi
%postun -p /sbin/ldconfig
@ -202,6 +197,7 @@ fi
%files
%defattr(-,root,root)
%doc README
%dir /etc/iscsi
%dir %{_var}/lib/iscsi
%dir %{_var}/lib/iscsi/nodes
%dir %{_var}/lib/iscsi/isns
@ -209,18 +205,16 @@ fi
%dir %{_var}/lib/iscsi/slp
%dir %{_var}/lib/iscsi/ifaces
%dir %{_var}/lib/iscsi/send_targets
%ghost %{_var}/lock/iscsi
%ghost %{_var}/lock/iscsi/lock
%dir %{_var}/lock/iscsi
%{_initrddir}/iscsi
%{_initrddir}/iscsid
%{_sysconfdir}/NetworkManager/dispatcher.d/04-iscsi
%dir %{_sysconfdir}/iscsi
%{_sysconfdir}/NetworkManager
%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/iscsi/iscsid.conf
/sbin/*
%{_libdir}/libiscsi.so.0
%{python_sitearch}/libiscsimodule.so
%{_mandir}/man8/*
%{_sysconfdir}/logrotate.d/iscsiuiolog
/etc/logrotate.d/iscsiuiolog
%files devel
%defattr(-,root,root,-)
@ -229,66 +223,176 @@ fi
%{_includedir}/libiscsi.h
%changelog
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.0.872-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon Oct 22 2012 Chris Leech <cleech@redhat.com> - 6.2.0.873-2
- 868305 sync iscsiuio to 0.7.6.1
* Mon Feb 14 2012 Mike Christie <mchristi@redhat.com> 6.2.0.872.18
- 789683 Fix boot slow down when the iscsi service is started
(regression added in 6.2.0.872.16 when the nm wait was added).
* 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
* Mon Feb 5 2012 Mike Christie <mchristi@redhat.com> 6.2.0.872.17
- 786174 Change iscsid/iscsi service startup, so it always starts
when called.
* Wed Oct 10 2012 Chris Leech <cleech@redhat.com> - 6.2.0.872-42
- 826300 sync iscsiuio to 0.7.4.3
* Sat Feb 4 2012 Mike Christie <mchristi@redhat.com> 6.2.0.872.16
- 747479 Fix iscsidevs handling of network requirement
* Thu Apr 5 2012 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.41
- 810197 Coverity fixes.
- 740054 fix iscsiuio version string
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.0.872-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Wed Apr 4 2012 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.40
- 738192 Fix regression added when handling 738192 where unknown params
messages got logged by mistake.
* Wed Nov 30 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.14
- Fix version string to reflect fedora and not rhel.
* Wed Mar 28 2012 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.39
- 738192 Fix invalid param handling.
- 790609 Fix --interval iscsiadm handling.
* Tue Oct 18 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.13
- Update iscsi tools.
* Thu Mar 22 2012 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.38
- Fix regressions caused by 796574 and 805467.
* Sat Apr 30 2011 Hans de Goede <hdegoede@redhat.com> - 6.2.0.872-12
- Change iscsi init scripts to check for networking being actually up, rather
then for NetworkManager being started (#692230)
* Thu Mar 22 2012 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.37
- 805467 Have iscsistart/iscsiadm bring up offload net interface.
- 796574 Fix port handling when hostnames are used for portals.
- 739843 Fix default iface setup handling.
* Tue Apr 26 2011 Hans de Goede <hdegoede@redhat.com> - 6.2.0.872-11
- Fix iscsid autostarting when upgrading from an older version
(add iscsid.startup key to iscsid.conf on upgrade)
- Fix printing of [ OK ] when successfully stopping iscsid
- systemd related fixes:
- Add Should-Start/Stop tgtd to iscsi init script to fix (re)boot from
hanging when using locally hosted targets
- %%ghost /var/lock/iscsi and contents (#656605)
* Mon Mar 5 2012 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.36
- 740054 sync iscsiuio to 0.7.2.1
- 790609 Add ping and host chap support to iscsiadm
- 636013 scalability testing.
* Mon Apr 25 2011 Mike Christie <mchristi@redhat.com> 6.2.0.872-10
- Fix iscsi init scripts check for networking being up (#692230)
* Sun Feb 26 2012 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.35
- 738192 Allow iscsistart to take any parameter.
- 739049 Fix -i use in README.
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.0.872-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Tue Nov 1 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.34
- 750714 Do not build with SLP.
* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 6.2.0.872-8
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Tue Nov 1 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.33
- 749051 More offload boot fixups.
* Fri Jul 12 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.7
- Sync to upstream open-iscsi-2.0-872-rc4 which fixes:
iscsiadm discovery port handling, add discoveryd init script
support, move from iscsid.conf to discovery db discoveryd settings,
and add discoverydb mode support.
* Tue Oct 25 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.31
- 749051 Sync iscsiuio to iscsiuio-0.7.0.14g to fix boot hang
when connection is lost during startup.
* Thu Jun 10 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.6
- Fix last patch.
* Tue Oct 18 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.30
- 602959 rotate iscsiuio/brcm_iscsiuio log.
* Wed Jun 9 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.5
- Fix iscsiadm handling of port argument when it is not the default 3260.
* Tue Oct 11 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.28
- 736116 (again) fix aligment for iface nl msgs.
- Fix iscsid restart issue when using qla4xxx boot.
- Fix ipv6 boot when using ibft.
* Thu May 6 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.4
- Fix iscsi script operations to check for offload drivers in rh_status
- Fix iscsiadm logging to not trigger iscsi script error detection
* Thu Sep 20 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.27
- 736116 Fix netlink msg len
* Thu Sep 8 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.26
- Fix offload removal patch
* Thu Sep 1 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.25
- 732912 Fix return value/msg when iscsiadm fails to log into target
- 696808 Update iscsiuio to v0.7.0.14.
* Sun Aug 14 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.24
- 696808 Fix brcm_iscsiuio naming from change in 696808
* Sun Aug 14 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.23
- 696808 Sync brcm/uio to v0.7.0.8.
- 715434 Fix iscsiadm command line help discoverydb/discovery2 description.
* Tue Apr 19 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.21
- 593269 iscsi was built against libcrypto, but was not using the code
so this disabled the building of that code [patch from .14 got dropped
due to mismerge].
* Mon Apr 18 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.20
- 696267 Create a offloaded session if the iscsi_host MAC and ibft
MAC match. This enables support for Broadcoms hba boot mode.
* Tue Apr 5 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.19
- 624437 support hostnames in node mode. [patch merged in .14 got
dropped by accident]
* Thu Feb 24 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.18
- fix iscsiadm exit code when iscsid is not running and the
discovery command is run.
- 689359 Fix uIP when using DCB for FCoE
- 691902 Fix iscsiadm SendTargets offload support when the PDU's data len
is 8K.
* Sat Feb 19 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.17
- 634021 Fix in .14 added regression during iscsi startup that prevented
sessions from getting created.
* Wed Feb 9 2011 Ales Kozumplik <akozumpl@redhat.com> 6.2.0.872.16
- 529443 fwparam_sysfs: fix pathname manipulation error in
fwparam_sysfs_boot_info.
- 529443 Make libiscsi nodes remember the interface they connect through.
* Thu Feb 3 2011 Mike Christie <mcrhsit@redhat.com> 6.2.0.872.15
- 640340 fix iscsiadm exit codes.
- 523492 iSCSI DCB support
* Mon Jan 31 2011 Mike Christie <mchristi@redhat.com> 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.
- 599542 document iscsiadm host mode hostno argument.
- 631821 iscsi discovery was not incrementing ITT when multiple text
commands were sent. This prevented discovery from finding all targets.
- 634021 iscsi init script did not shutdown all sessions during system
shutdown/reboot causing the host to hang.
- 658428 iscsi init script should not shutdown sessions when root is
using them and should not fail startup on all iscsiadm login failures.
- 635899 sync brcm_iscsiuio to 0.6.2.13 to add support for IPv6, VLAN,
57711E, and 57712 hardware.
- 640115 fix hang caused due to race in ISCSI_ERR_INVALID_HOST handling.
- 640340 fix iscsiadm exit codes.
- 624437 support hostnames in node mode.
* Fri Dec 3 2010 Ales Kozumplik <akozumpl@redhat.com> 6.2.0.872.13
- 442980 libiscsi: reimplement fw discovery so partial devices are used properly.
* Tue Nov 30 2010 Ales Kozumplik <akozumpl@redhat.com> 6.2.0.872.12
- 442980 partial offload boot: Remove the OFFLOAD_BOOT_SUPPORTED ifdef. This
effectively makes OFFLOAD_BOOT_SUPPORTED always enabled.
* Mon Nov 29 2010 Ales Kozumplik <akozumpl@redhat.com> 6.2.0.872.11
- 442980 brcm uio: handle the different iface_rec structures in iscsid and brcm.
* Wed Aug 18 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.10
- 605663 Log message when iface binding, and doc rp_filter settings
needed for iface binding.
p* Mon Aug 5 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.9
- 614035 Make iscsi status print session info.
- Fix uip vlan and 10 gig bugs.
* Mon Jul 26 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.8
- 589256 Re-fix iface update/delete return value.
* Mon Jul 12 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.7
- 595591 Fix nic state bug in brcm_iscsiuio.
* Thu Jul 8 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.6
- 602899 Add discovery db support.
- 595591 Sync brcm_iscsiuio to 0.5.15.
- 589256 Do not log success message and return ENODEV
- 601434 Fix iscsiadm handling of non-default port
* Fri Jun 18 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.5
- 602286 No need to compile iscsistart as static. This also fixes
the segfault when hostnames are passed in for the portal ip.
* Tue May 18 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.4
- 590580 libiscsi get_firmware_foo does not work without first creating a
libiscsi context
- 588931 Fix uip and iscsid initialization race
- 570664 Add basic vlan support for bnx2i's brcm uip daemon
- 589761 Fix multiple init script bugs: rh_status does not detect offload,
start/stop does not work due to iscsiadm output being directed to stderr,
discovery daemon does not get auto started/stopped, iscsid restart does
not restart daemon if force-start was used.
- 585649 Fix iscsid "-eq: unary operator expected" bug.
* Wed May 5 2010 Mike Christie <mchristi@redhat.com> 6.2.0.872.3
- 578455 Fix initial R2T=0 handling for be2iscsi
@ -303,10 +407,6 @@ fi
- 516444 Add iSNS SCN handling (rebased to open-iscsi-2.0-872-rc1-)
- Update brcm to 0.5.7
* Sun Feb 14 2010 Hans de Goede <hdegoede@redhat.com> 6.2.0.870-13
- Preserve timestamps on doxygen generated files
- Fix FTBFS (#565038)
* Mon Feb 8 2010 Mike Christie <mchristi@redhat.com> 6.2.0.871.1.1-3
- Add spec patch comments.
@ -320,15 +420,6 @@ fi
- 529324 Add iscsi-iname and iscsistart man page
- 463582 OF/iBFT support
* Thu Jan 7 2010 Hans de Goede <hdegoede@redhat.com> 6.2.0.870-12
- Change python_sitelib macro to use %%global as the new rpm will break
using %%define here, see:
https://www.redhat.com/archives/fedora-devel-list/2010-January/msg00093.html
* Tue Dec 1 2009 Hans de Goede <hdegoede@redhat.com> 6.2.0.870-11
- Own /etc/iscsi (#542849)
- Do not own /etc/NetworkManager/dispatcher.d (#533700)
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.0.870-10.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

View File

@ -74,8 +74,15 @@ start() {
[ -x $exec ] || exit 5
[ -f $config ] || exit 6
start_iscsid
return $?
# only start if nodes are setup to startup automatically, root is iscsi,
# or if iscsid is managing the sessions.
grep -qrs "node.startup = automatic" /var/lib/iscsi/nodes
if [ $? -eq 0 ] || root_is_iscsi || use_discoveryd ; then
start_iscsid
return $?
fi
return 0
}
stop() {

View File

@ -5,12 +5,17 @@
# chkconfig: 345 13 89
# description: Logs into iSCSI targets needed at system startup
# Note we should have $network in Required-Start/Stop but we don't because if
# we would require network chkconfig will put us directly after NetworkManager
# when using NM, which will make our see if the network is up test succeed
# while NM is actually still configuring the network. By not requiring network
# chkconfig will use the chkconfig header to determine our start prio, starting
# us after the old network service, but before NM (netfs does this the same).
### BEGIN INIT INFO
# Provides: iscsi
# Required-Start: iscsid network
# Should-Start: tgtd
# Required-Start: iscsid
# Required-Stop: iscsid
# Should-Stop: tgtd
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: Starts and stops login and scanning of iSCSI devices.
@ -34,7 +39,11 @@ start() {
# if the network isn't up yet exit cleanly, NetworkManager will call us
# again when the network is up
[ ! -f /var/lock/subsys/network ] && ! nm-online -x >/dev/null 2>&1 && exit 3
[ ! -f /var/lock/subsys/network -a ! -f /var/lock/subsys/NetworkManager ] && exit 0
# if no nodes are setup to startup automatically exit cleanly
grep -qrs "node.startup = automatic" /var/lib/iscsi/nodes
[ $? -eq 0 ] || exit 0
# this script is normally called from startup so log into
# nodes marked node.startup=automatic