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 6.2.0.872.33 +- 749051 More offload boot fixups. + * Tue Oct 25 2011 Mike Christie 6.2.0.872.31 - 749051 Sync iscsiuio to iscsiuio-0.7.0.14g to fix boot hang when connection is lost during startup.