[iscsi-initiator-utils: 82/109] Resolves: #749051

Chris Leech cleech at fedoraproject.org
Tue Dec 10 21:26:17 UTC 2013


commit d7fda02a2c9aba254ba2e0f08466654ab8067537
Author: mchristi <mchristi at redhat.com>
Date:   Wed Nov 2 00:29:10 2011 +0000

    Resolves: #749051

 iscsi-initiator-utils-add-rh-ver.patch          |    2 +-
 iscsi-initiator-utils-dont-sync-kern-sess.patch |   57 +++++++++++++++++++++++
 iscsi-initiator-utils.spec                      |   12 ++++-
 3 files changed, 67 insertions(+), 4 deletions(-)
---
diff --git a/iscsi-initiator-utils-add-rh-ver.patch b/iscsi-initiator-utils-add-rh-ver.patch
index fcdb7bd..24506c5 100644
--- a/iscsi-initiator-utils-add-rh-ver.patch
+++ b/iscsi-initiator-utils-add-rh-ver.patch
@@ -5,7 +5,7 @@
   * some other maintainer could merge a patch without going through us
   */
 -#define ISCSI_VERSION_STR	"2.0-872"
-+#define ISCSI_VERSION_STR	"2.0-872.32.el6"
++#define ISCSI_VERSION_STR	"2.0-872.33.el6"
  #define ISCSI_VERSION_FILE	"/sys/module/scsi_transport_iscsi/version"
  
  #endif
diff --git a/iscsi-initiator-utils-dont-sync-kern-sess.patch b/iscsi-initiator-utils-dont-sync-kern-sess.patch
new file mode 100644
index 0000000..b954a63
--- /dev/null
+++ b/iscsi-initiator-utils-dont-sync-kern-sess.patch
@@ -0,0 +1,57 @@
+diff -aurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid.c
+--- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsid.c	2011-11-01 19:15:46.000000000 -0500
++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsid.c	2011-11-01 19:17:45.000000000 -0500
+@@ -221,6 +221,9 @@ static int sync_session(void *data, stru
+ 		return 0;
+ 	}
+ 
++	if (!iscsi_sysfs_session_user_created(info->sid))
++		return 0;
++
+ 	memset(&rec, 0, sizeof(node_rec_t));
+ 	/*
+ 	 * We might get the local ip address for software. We do not
+diff -aurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_sysfs.c open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_sysfs.c
+--- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_sysfs.c	2011-11-01 19:15:46.000000000 -0500
++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_sysfs.c	2011-11-01 19:17:45.000000000 -0500
+@@ -231,6 +231,29 @@ void iscsi_sysfs_get_negotiated_session_
+ 		      &conf->MaxOutstandingR2T);
+ }
+ 
++/*
++ * iscsi_sysfs_session_user_created - return if session was setup by userspace
++ * @sid: id of session to test
++ *
++ * Returns -1 if we could not tell due to kernel not supporting the
++ * feature. 0 is returned if kernel created it. And 1 is returned
++ * if userspace created it.
++ */
++int iscsi_sysfs_session_user_created(int sid)
++{
++	char id[NAME_SIZE];
++	pid_t pid;
++
++	snprintf(id, sizeof(id), ISCSI_SESSION_ID, sid);
++	if (sysfs_get_int(id, ISCSI_SESSION_SUBSYS, "creator", &pid))
++		return -1;
++
++	if (pid == -1)
++		return 0;
++	else
++		return 1;
++}
++
+ uint32_t iscsi_sysfs_get_host_no_from_sid(uint32_t sid, int *err)
+ {
+ 	struct sysfs_device *session_dev, *host_dev;
+diff -aurp open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_sysfs.h open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_sysfs.h
+--- open-iscsi-2.0-872-rc4-bnx2i/usr/iscsi_sysfs.h	2011-11-01 19:15:46.000000000 -0500
++++ open-iscsi-2.0-872-rc4-bnx2i.work/usr/iscsi_sysfs.h	2011-11-01 19:17:45.000000000 -0500
+@@ -90,6 +90,7 @@ extern struct iscsi_transport *iscsi_sys
+ extern struct iscsi_transport *iscsi_sysfs_get_transport_by_sid(uint32_t sid);
+ extern struct iscsi_transport *iscsi_sysfs_get_transport_by_name(char *transport_name);
+ extern int iscsi_sysfs_session_supports_nop(int sid);
++extern int iscsi_sysfs_session_user_created(int sid);
+ 
+ extern struct list_head transports;
+ 
diff --git a/iscsi-initiator-utils.spec b/iscsi-initiator-utils.spec
index 8f6685d..cd9cb5a 100644
--- a/iscsi-initiator-utils.spec
+++ b/iscsi-initiator-utils.spec
@@ -3,7 +3,7 @@
 Summary: iSCSI daemon and utility programs
 Name: iscsi-initiator-utils
 Version: 6.2.0.872
-Release: 32%{?dist}
+Release: 33%{?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
@@ -53,8 +53,10 @@ Patch19: iscsi-initiator-utils-libiscsi-to-support-offload.patch
 Patch20: iscsi-initiator-utils-sync-uio-0.7.0.14g.patch
 # return on exists
 Patch21: iscsi-initiator-utils-return-on-exists.patch
+# don't sync kernel sessions.
+Patch22: iscsi-initiator-utils-dont-sync-kern-sess.patch
 # add rhel version info to iscsi tools
-Patch22: iscsi-initiator-utils-add-rh-ver.patch
+Patch23: iscsi-initiator-utils-add-rh-ver.patch
 
 Group: System Environment/Daemons
 License: GPLv2+
@@ -104,7 +106,8 @@ developing applications that use %{name}.
 %patch19 -p1 -b .libiscsi-to-support-offload
 %patch20 -p1 -b .sync-uio-0.7.0.14g
 %patch21 -p1 -b .return-on-exists
-%patch22 -p1 -b .add-rh-ver
+%patch22 -p1 -b .dont-sync-kern-sess
+%patch23 -p1 -b .add-rh-ver
 
 %build
 cd utils/open-isns
@@ -230,6 +233,9 @@ fi
 %{_includedir}/libiscsi.h
 
 %changelog
+* Tue Nov 1 2011 Mike Christie <mcrhsit at redhat.com> 6.2.0.872.33
+- 749051 More offload boot fixups.
+
 * Tue Oct 25 2011 Mike Christie <mcrhsit at 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.


More information about the scm-commits mailing list