diff --git a/.gitignore b/.gitignore index ba87e71..6e3e803 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/open-iscsi-f3c8e90.tar.gz +SOURCES/open-iscsi-f71581b.tar.gz diff --git a/.iscsi-initiator-utils.metadata b/.iscsi-initiator-utils.metadata index a0fef4e..ab8d386 100644 --- a/.iscsi-initiator-utils.metadata +++ b/.iscsi-initiator-utils.metadata @@ -1 +1 @@ -fdf8ac2fc45f493bdc005bb6739406b65126b31f SOURCES/open-iscsi-f3c8e90.tar.gz +3d3234035cc7884aa512161e06be6737ade52077 SOURCES/open-iscsi-f71581b.tar.gz diff --git a/SOURCES/0001-Coverity-scan-fixes.patch b/SOURCES/0001-Coverity-scan-fixes.patch new file mode 100644 index 0000000..691474f --- /dev/null +++ b/SOURCES/0001-Coverity-scan-fixes.patch @@ -0,0 +1,123 @@ +From f8e7499e9f69465668fc6e5e7bcfb9ce09e8a457 Mon Sep 17 00:00:00 2001 +From: Chris Leech +Date: Wed, 5 Jun 2019 09:08:39 -0700 +Subject: [PATCH] Coverity scan fixes + +--- + iscsiuio/src/unix/libs/qedi.c | 2 +- + iscsiuio/src/unix/main.c | 12 ++++++++++-- + libopeniscsiusr/idbm.c | 11 +++++------ + usr/idbm.c | 10 ++++------ + usr/iscsid.c | 2 +- + 5 files changed, 21 insertions(+), 16 deletions(-) + +diff --git a/iscsiuio/src/unix/libs/qedi.c b/iscsiuio/src/unix/libs/qedi.c +index b7595d5..47300b0 100644 +--- a/iscsiuio/src/unix/libs/qedi.c ++++ b/iscsiuio/src/unix/libs/qedi.c +@@ -1023,7 +1023,7 @@ static int qedi_read(nic_t *nic, packet_t *pkt) + + LOG_DEBUG(PFX "%s:hw_prod %d bd_prod %d, rx_pkt_idx %d, rxlen %d", + nic->log_name, hw_prod, bd_prod, rx_bd->rx_pkt_index, len); +- LOG_DEBUG(PFX "%s: sw_con %d bd_cons %d num BD %d", ++ LOG_DEBUG(PFX "%s: sw_con %d bd_cons %d num BD %lu", + nic->log_name, sw_cons, bd_cons, QEDI_NUM_RX_BD); + + if (bd_cons != bd_prod) { +diff --git a/iscsiuio/src/unix/main.c b/iscsiuio/src/unix/main.c +index 5168e4e..ed41931 100644 +--- a/iscsiuio/src/unix/main.c ++++ b/iscsiuio/src/unix/main.c +@@ -340,7 +340,10 @@ int main(int argc, char *argv[]) + + /* parent: wait for child msg then exit */ + close(pipefds[1]); +- read(pipefds[0], msgbuf, sizeof(msgbuf)); ++ if (read(pipefds[0], msgbuf, sizeof(msgbuf)) < 0) { ++ fprintf(stderr, "ERR: Waiting for child process failed\n"); ++ exit(1); ++ } + exit(0); + } + +@@ -386,6 +389,9 @@ int main(int argc, char *argv[]) + sigaddset(&set, SIGTERM); + sigaddset(&set, SIGUSR1); + rc = pthread_sigmask(SIG_SETMASK, &set, NULL); ++ if (rc != 0) { ++ LOG_ERR("Failed to set thread signal mask"); ++ } + + /* Spin off the signal handling thread */ + pthread_attr_init(&attr); +@@ -415,7 +421,9 @@ int main(int argc, char *argv[]) + if (!foreground) { + /* signal parent they can go away now */ + close(pipefds[0]); +- write(pipefds[1], "ok\n", 3); ++ if (write(pipefds[1], "ok\n", 3) < 0) { ++ LOG_ERR("Failed to signal parent process of completed initialization"); ++ } + close(pipefds[1]); + } + +diff --git a/libopeniscsiusr/idbm.c b/libopeniscsiusr/idbm.c +index d020e6c..342aab5 100644 +--- a/libopeniscsiusr/idbm.c ++++ b/libopeniscsiusr/idbm.c +@@ -287,12 +287,11 @@ int _idbm_lock(struct iscsi_context *ctx) + return 0; + } + +- if (access(LOCK_DIR, F_OK) != 0) { +- if (mkdir(LOCK_DIR, 0660) != 0) { +- _error(ctx, "Could not open %s: %d %s", LOCK_DIR, errno, +- _strerror(errno, strerr_buff)); +- return LIBISCSI_ERR_IDBM; +- } ++ if (((mkdir(LOCK_DIR, 0660) != 0) && (errno != EEXIST)) || ++ (access(LOCK_DIR, F_OK) != 0)) { ++ _error(ctx, "Could not open %s: %d %s", LOCK_DIR, errno, ++ _strerror(errno, strerr_buff)); ++ return LIBISCSI_ERR_IDBM; + } + + fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666); +diff --git a/usr/idbm.c b/usr/idbm.c +index 89a6c27..a3343fe 100644 +--- a/usr/idbm.c ++++ b/usr/idbm.c +@@ -1332,12 +1332,10 @@ int idbm_lock(void) + return 0; + } + +- if (access(LOCK_DIR, F_OK) != 0) { +- if (mkdir(LOCK_DIR, 0660) != 0) { +- log_error("Could not open %s: %s", LOCK_DIR, +- strerror(errno)); +- return ISCSI_ERR_IDBM; +- } ++ if (((mkdir(LOCK_DIR, 0660) != 0) && (errno != EEXIST)) || ++ (access(LOCK_DIR, F_OK) != 0)) { ++ log_error("Could not open %s: %s", LOCK_DIR, strerror(errno)); ++ return ISCSI_ERR_IDBM; + } + + fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666); +diff --git a/usr/iscsid.c b/usr/iscsid.c +index 37c13b3..1891784 100644 +--- a/usr/iscsid.c ++++ b/usr/iscsid.c +@@ -489,8 +489,8 @@ int main(int argc, char *argv[]) + log_close(log_pid); + exit(ISCSI_ERR); + } ++ close(fd); + } +- close(fd); + + if ((control_fd = ipc->ctldev_open()) < 0) { + log_close(log_pid); +-- +2.21.0 + diff --git a/SOURCES/0001-fix-iscsiuio-build-with-libsystemd.patch b/SOURCES/0001-fix-iscsiuio-build-with-libsystemd.patch new file mode 100644 index 0000000..1b86d74 --- /dev/null +++ b/SOURCES/0001-fix-iscsiuio-build-with-libsystemd.patch @@ -0,0 +1,49 @@ +From aeca36572c02a8bf314037d82c4a2625636b175a Mon Sep 17 00:00:00 2001 +From: Chris Leech +Date: Mon, 3 Jun 2019 14:36:48 -0700 +Subject: [PATCH] fix iscsiuio build with libsystemd + +--- + iscsiuio/configure.ac | 2 ++ + iscsiuio/src/unix/Makefile.am | 6 ++++-- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/iscsiuio/configure.ac b/iscsiuio/configure.ac +index ae23078..6138e0e 100644 +--- a/iscsiuio/configure.ac ++++ b/iscsiuio/configure.ac +@@ -73,6 +73,8 @@ AC_CONFIG_COMMANDS([default],[[ + echo 'char *build_date;'> src/unix/build_date.h + ]],[[]]) + ++PKG_CHECK_MODULES([LIBSYSTEMD], [libsystemd]) ++ + AC_PREFIX_DEFAULT() + + AC_OUTPUT([Makefile +diff --git a/iscsiuio/src/unix/Makefile.am b/iscsiuio/src/unix/Makefile.am +index a989ef0..ea5f59e 100644 +--- a/iscsiuio/src/unix/Makefile.am ++++ b/iscsiuio/src/unix/Makefile.am +@@ -25,7 +25,8 @@ iscsiuio_SOURCES = build_date.c \ + + iscsiuio_CFLAGS = $(AM_CFLAGS) \ + $(LIBNL_CFLAGS) \ +- -DBYTE_ORDER=@ENDIAN@ ++ -DBYTE_ORDER=@ENDIAN@ \ ++ $(LIBSYSTEMD_CFLAGS) + + iscsiuio_LDFLAGS= $(AM_LDADD) \ + -ldl \ +@@ -36,6 +37,7 @@ iscsiuio_LDFLAGS= $(AM_LDADD) \ + iscsiuio_LDADD = ${top_srcdir}/src/uip/lib_iscsi_uip.a \ + ${top_srcdir}/src/apps/dhcpc/lib_apps_dhcpc.a\ + ${top_srcdir}/src/apps/brcm-iscsi/lib_apps_brcm_iscsi.a \ +- ${top_srcdir}/src/unix/libs/lib_iscsiuio_hw_cnic.a ++ ${top_srcdir}/src/unix/libs/lib_iscsiuio_hw_cnic.a \ ++ $(LIBSYSTEMD_LIBS) + + iscsiuio_YFLAGS = -d +-- +2.21.0 + diff --git a/SOURCES/0001-service-file-tweaks.patch b/SOURCES/0001-service-file-tweaks.patch new file mode 100644 index 0000000..8538e3a --- /dev/null +++ b/SOURCES/0001-service-file-tweaks.patch @@ -0,0 +1,146 @@ +From efba620a01a2c2fa57b672bced47e88f25078b00 Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Tue, 4 Jun 2019 13:23:32 -0700 +Subject: [PATCH] service file tweaks + +--- + etc/systemd/iscsi-mark-root-nodes | 30 ++++++++++++++++++++++++++++++ + etc/systemd/iscsi-shutdown.service | 14 ++++++++++++++ + etc/systemd/iscsi.service | 23 +++++++++++++---------- + etc/systemd/iscsid.service | 6 ++++-- + etc/systemd/iscsiuio.service | 2 +- + 5 files changed, 62 insertions(+), 13 deletions(-) + create mode 100755 etc/systemd/iscsi-mark-root-nodes + create mode 100644 etc/systemd/iscsi-shutdown.service + +diff --git a/etc/systemd/iscsi-mark-root-nodes b/etc/systemd/iscsi-mark-root-nodes +new file mode 100755 +index 0000000..c693707 +--- /dev/null ++++ b/etc/systemd/iscsi-mark-root-nodes +@@ -0,0 +1,30 @@ ++#!/bin/bash ++ ++ISCSIADM=/usr/sbin/iscsiadm ++start_iscsid=0 ++start_iscsiuio=0 ++ ++while read t num p target flash; do ++ # strip tag number from portal, keep "ip:port" ++ portal=${p%,*} ++ transport=${t%:} ++ ++ $ISCSIADM -m node -p $portal -T $target -o update -n node.startup -v onboot ++ ++ start_iscsid=1 ++ ++ if [ "$transport" = bnx2i ] || [ "$transport" = qedi ]; then ++ start_iscsiuio=1 ++ fi ++done < <( $ISCSIADM -m session ) ++ ++# force iscsid and iscsiuio to start if needed for ++# recovering sessions created in the initrd ++ ++if [ "$start_iscsid" -eq 1 ]; then ++ systemctl --no-block start iscsid.service ++fi ++if [ "$start_iscsiuio" -eq 1 ]; then ++ systemctl --no-block start iscsiuio.service ++fi ++ +diff --git a/etc/systemd/iscsi-shutdown.service b/etc/systemd/iscsi-shutdown.service +new file mode 100644 +index 0000000..69c1c77 +--- /dev/null ++++ b/etc/systemd/iscsi-shutdown.service +@@ -0,0 +1,14 @@ ++[Unit] ++Description=Logout off all iSCSI sessions on shutdown ++Documentation=man:iscsid(8) man:iscsiadm(8) ++DefaultDependencies=no ++Conflicts=shutdown.target ++After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service ++Before=remote-fs-pre.target ++Wants=remote-fs-pre.target ++RefuseManualStop=yes ++ ++[Service] ++Type=oneshot ++RemainAfterExit=true ++ExecStop=-/usr/sbin/iscsiadm -m node --logoutall=all +diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service +index e475888..eadfcec 100644 +--- a/etc/systemd/iscsi.service ++++ b/etc/systemd/iscsi.service +@@ -1,18 +1,21 @@ + [Unit] + Description=Login and scanning of iSCSI devices +-Documentation=man:iscsiadm(8) man:iscsid(8) +-Before=remote-fs.target +-After=network.target network-online.target iscsid.service +-Requires=iscsid.service +-ConditionPathExists=/etc/iscsi/initiatorname.iscsi ++Documentation=man:iscsid(8) man:iscsiadm(8) ++DefaultDependencies=no ++Conflicts=shutdown.target ++After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service ++Before=remote-fs-pre.target ++Wants=remote-fs-pre.target iscsi-shutdown.service ++ConditionDirectoryNotEmpty=|/var/lib/iscsi/nodes ++ConditionDirectoryNotEmpty=|/sys/class/iscsi_session + + [Service] + Type=oneshot +-ExecStart=/sbin/iscsiadm -m node --loginall=automatic +-ExecStop=/sbin/iscsiadm -m node --logoutall=automatic +-ExecStop=/sbin/iscsiadm -m node --logoutall=manual +-SuccessExitStatus=21 + RemainAfterExit=true ++ExecStart=-/usr/libexec/iscsi-mark-root-nodes ++ExecStart=-/usr/sbin/iscsiadm -m node --loginall=automatic ++ExecReload=-/usr/sbin/iscsiadm -m node --loginall=automatic ++SuccessExitStatus=21 + + [Install] +-WantedBy=remote-fs.target ++WantedBy=sysinit.target +diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service +index 4fef168..8d50cf0 100644 +--- a/etc/systemd/iscsid.service ++++ b/etc/systemd/iscsid.service +@@ -1,14 +1,16 @@ + [Unit] + Description=Open-iSCSI +-Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8) ++Documentation=man:iscsid(8) man:iscsiadm(8) + DefaultDependencies=no ++Conflicts=shutdown.target + After=network.target iscsiuio.service + Before=remote-fs-pre.target + + [Service] + Type=notify + NotifyAccess=main +-ExecStart=/sbin/iscsid -f ++ExecStart=/usr/sbin/iscsid -f ++ExecStop=/usr/sbin/iscsiadm -k 0 2 + KillMode=mixed + Restart=on-failure + +diff --git a/etc/systemd/iscsiuio.service b/etc/systemd/iscsiuio.service +index e4d9fd0..8620cde 100644 +--- a/etc/systemd/iscsiuio.service ++++ b/etc/systemd/iscsiuio.service +@@ -11,7 +11,7 @@ Before=remote-fs-pre.target iscsid.service + [Service] + Type=notify + NotifyAccess=main +-ExecStart=/sbin/iscsiuio -f ++ExecStart=/usr/sbin/iscsiuio -f + KillMode=mixed + Restart=on-failure + +-- +2.21.0 + diff --git a/SOURCES/0003-idbw_rec_write-pick-tpgt-from-existing-record.patch b/SOURCES/0003-idbw_rec_write-pick-tpgt-from-existing-record.patch index 5e2469f..850ca7f 100644 --- a/SOURCES/0003-idbw_rec_write-pick-tpgt-from-existing-record.patch +++ b/SOURCES/0003-idbw_rec_write-pick-tpgt-from-existing-record.patch @@ -1,7 +1,7 @@ -From 7ba6464018daac1b150335bb73d272761d2cbfe5 Mon Sep 17 00:00:00 2001 +From bf6a05987a418e4d7eeb3a24f0912c5cfc9e533d Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Tue, 13 Aug 2013 12:39:07 -0700 -Subject: [PATCH 03/32] idbw_rec_write, pick tpgt from existing record +Subject: [PATCH] idbw_rec_write, pick tpgt from existing record On a static add (-m node -o new) without a user specified tpgt, looks for existing new style records with tpgt before creating an old style @@ -12,7 +12,7 @@ updated new style record instead. 1 file changed, 40 insertions(+) diff --git a/usr/idbm.c b/usr/idbm.c -index 21ff61ab2bd8..cd705fa2b033 100644 +index c29cbed..00955e4 100644 --- a/usr/idbm.c +++ b/usr/idbm.c @@ -28,6 +28,7 @@ @@ -22,8 +22,8 @@ index 21ff61ab2bd8..cd705fa2b033 100644 +#include #include #include - -@@ -163,6 +164,8 @@ static struct idbm *db; + #include +@@ -164,6 +165,8 @@ static struct idbm *db; _n++; \ } while(0) @@ -32,7 +32,7 @@ index 21ff61ab2bd8..cd705fa2b033 100644 static void idbm_recinfo_discovery(discovery_rec_t *r, recinfo_t *ri) { -@@ -2077,12 +2080,49 @@ static int idbm_rec_write_old(node_rec_t *rec) +@@ -2080,12 +2083,49 @@ static int idbm_rec_write_old(node_rec_t *rec) FILE *f; char *portal; int rc = 0; @@ -83,5 +83,5 @@ index 21ff61ab2bd8..cd705fa2b033 100644 rec->name, rec->conn[0].address, rec->conn[0].port); -- -2.14.4 +2.21.0 diff --git a/SOURCES/0004-update-systemd-service-files-add-iscsi.service-for-s.patch b/SOURCES/0004-update-systemd-service-files-add-iscsi.service-for-s.patch deleted file mode 100644 index ebe1650..0000000 --- a/SOURCES/0004-update-systemd-service-files-add-iscsi.service-for-s.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 33076c9c1e975ea3225923d66ae24648c0c82a7f Mon Sep 17 00:00:00 2001 -From: Chris Leech -Date: Wed, 19 Dec 2012 15:07:36 -0800 -Subject: [PATCH 04/32] update systemd service files, add iscsi.service for - starting sessions on boot - -Signed-off-by: Chris Leech ---- - etc/systemd/iscsi.service | 19 +++++++++++++++++++ - etc/systemd/iscsi_mark_root_nodes | 14 ++++++++++++++ - etc/systemd/iscsid.service | 7 +++++-- - etc/systemd/iscsid.socket | 2 +- - 4 files changed, 39 insertions(+), 3 deletions(-) - create mode 100644 etc/systemd/iscsi.service - create mode 100755 etc/systemd/iscsi_mark_root_nodes - -diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service -new file mode 100644 -index 000000000000..bbd52fd66890 ---- /dev/null -+++ b/etc/systemd/iscsi.service -@@ -0,0 +1,19 @@ -+[Unit] -+Description=Login and scanning of iSCSI devices -+Documentation=man:iscsid(8) man:iscsiadm(8) -+DefaultDependencies=no -+Conflicts=shutdown.target -+After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service -+Before=remote-fs-pre.target -+ConditionPathExists=/etc/iscsi/initiatorname.iscsi -+ -+[Service] -+Type=oneshot -+RemainAfterExit=true -+ExecStart=/usr/libexec/iscsi_mark_root_nodes -+ExecStart=/sbin/iscsiadm -m node --loginall=automatic -+ExecStop=/bin/sync -+ExecStop=/sbin/iscsiadm -m node --logoutall=automatic -+ -+[Install] -+WantedBy=sysinit.target -diff --git a/etc/systemd/iscsi_mark_root_nodes b/etc/systemd/iscsi_mark_root_nodes -new file mode 100755 -index 000000000000..c68475c44de5 ---- /dev/null -+++ b/etc/systemd/iscsi_mark_root_nodes -@@ -0,0 +1,14 @@ -+#!/bin/bash -+ -+ISCSIADM=/sbin/iscsiadm -+SESSION_FILE=/run/initramfs/iscsi.sessions -+ -+if [ ! -f $SESSION_FILE ] ; then -+ exit 0 -+fi -+ -+while read t num i target; do -+ ip=${i%:*} -+ $ISCSIADM -m node -p $ip -T $target -o update -n node.startup -v onboot -+done < $SESSION_FILE -+ -diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service -index 028e0b3f4e59..653dd085bbdd 100644 ---- a/etc/systemd/iscsid.service -+++ b/etc/systemd/iscsid.service -@@ -1,7 +1,10 @@ - [Unit] - Description=Open-iSCSI --Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8) --After=network.target NetworkManager-wait-online.service iscsiuio.service tgtd.service targetcli.service -+Documentation=man:iscsid(8) man:iscsiadm(8) -+DefaultDependencies=no -+Conflicts=shutdown.target -+After=network.target iscsiuio.service -+Before=remote-fs-pre.target - - [Service] - Type=forking -diff --git a/etc/systemd/iscsid.socket b/etc/systemd/iscsid.socket -index 832451d7a0ce..58a8d1239996 100644 ---- a/etc/systemd/iscsid.socket -+++ b/etc/systemd/iscsid.socket -@@ -1,6 +1,6 @@ - [Unit] - Description=Open-iSCSI iscsid Socket --Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8) -+Documentation=man:iscsid(8) man:iscsiadm(8) - - [Socket] - ListenStream=@ISCSIADM_ABSTRACT_NAMESPACE --- -2.14.4 - diff --git a/SOURCES/0005-iscsi-boot-related-service-file-updates.patch b/SOURCES/0005-iscsi-boot-related-service-file-updates.patch deleted file mode 100644 index bf39a76..0000000 --- a/SOURCES/0005-iscsi-boot-related-service-file-updates.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 5dd8fc7d27204a3461b33defed1e0bb4331c7663 Mon Sep 17 00:00:00 2001 -From: Chris Leech -Date: Mon, 19 Aug 2013 07:18:25 -0700 -Subject: [PATCH 05/32] iscsi boot related service file updates - -make sure iscsid gets started if there are any boot sessions running -add reload target to fix double session problem when restarting from NM -don't rely on session list passed from initrd, never got fully implemented ---- - etc/systemd/iscsi-mark-root-nodes | 13 +++++++++++++ - etc/systemd/iscsi.service | 3 ++- - etc/systemd/iscsi_mark_root_nodes | 14 -------------- - 3 files changed, 15 insertions(+), 15 deletions(-) - create mode 100644 etc/systemd/iscsi-mark-root-nodes - delete mode 100755 etc/systemd/iscsi_mark_root_nodes - -diff --git a/etc/systemd/iscsi-mark-root-nodes b/etc/systemd/iscsi-mark-root-nodes -new file mode 100644 -index 000000000000..157be62b4041 ---- /dev/null -+++ b/etc/systemd/iscsi-mark-root-nodes -@@ -0,0 +1,13 @@ -+#!/bin/bash -+ -+ISCSIADM=/sbin/iscsiadm -+ -+$ISCSIADM -m session >/dev/null 2>&1 || exit 0 -+ -+$ISCSIADM -m session | while read t num i target; do -+ ip=${i%:*} -+ $ISCSIADM -m node -p $ip -T $target -o update -n node.startup -v onboot -+done -+ -+systemctl start iscsid.service -+ -diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service -index bbd52fd66890..0309e2fc9892 100644 ---- a/etc/systemd/iscsi.service -+++ b/etc/systemd/iscsi.service -@@ -10,10 +10,11 @@ ConditionPathExists=/etc/iscsi/initiatorname.iscsi - [Service] - Type=oneshot - RemainAfterExit=true --ExecStart=/usr/libexec/iscsi_mark_root_nodes -+ExecStart=/usr/libexec/iscsi-mark-root-nodes - ExecStart=/sbin/iscsiadm -m node --loginall=automatic - ExecStop=/bin/sync - ExecStop=/sbin/iscsiadm -m node --logoutall=automatic -+ExecReload=/sbin/iscsiadm -m node --loginall=automatic - - [Install] - WantedBy=sysinit.target -diff --git a/etc/systemd/iscsi_mark_root_nodes b/etc/systemd/iscsi_mark_root_nodes -deleted file mode 100755 -index c68475c44de5..000000000000 ---- a/etc/systemd/iscsi_mark_root_nodes -+++ /dev/null -@@ -1,14 +0,0 @@ --#!/bin/bash -- --ISCSIADM=/sbin/iscsiadm --SESSION_FILE=/run/initramfs/iscsi.sessions -- --if [ ! -f $SESSION_FILE ] ; then -- exit 0 --fi -- --while read t num i target; do -- ip=${i%:*} -- $ISCSIADM -m node -p $ip -T $target -o update -n node.startup -v onboot --done < $SESSION_FILE -- --- -2.14.4 - diff --git a/SOURCES/0007-use-var-for-config.patch b/SOURCES/0007-use-var-for-config.patch index 1690126..7013154 100644 --- a/SOURCES/0007-use-var-for-config.patch +++ b/SOURCES/0007-use-var-for-config.patch @@ -1,18 +1,19 @@ -From 478527833bdb8ebc9f4523c54e544b244bfe76f1 Mon Sep 17 00:00:00 2001 +From 29769497994066772429d57937dc3a8c0f515304 Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Mon, 19 Nov 2012 16:38:45 -0800 -Subject: [PATCH 07/32] use var for config +Subject: [PATCH] use var for config --- README | 33 ++++++++++++++++----------------- doc/iscsiadm.8 | 8 ++++---- + doc/iscsid.8 | 2 +- usr/idbm.c | 6 +++--- usr/idbm.h | 13 +++++++------ usr/iface.h | 3 ++- - 5 files changed, 32 insertions(+), 31 deletions(-) + 6 files changed, 33 insertions(+), 32 deletions(-) diff --git a/README b/README -index c05814a2593b..326c3b01e608 100644 +index c05814a..326c3b0 100644 --- a/README +++ b/README @@ -172,8 +172,7 @@ Usage: iscsid [OPTION] @@ -146,10 +147,10 @@ index c05814a2593b..326c3b01e608 100644 Note that for iSNS the poll_interval does not have to be set. If not set, iscsid will only perform rediscovery when it gets a SCN from the server. diff --git a/doc/iscsiadm.8 b/doc/iscsiadm.8 -index a82805e28fb9..758a47c2d1fe 100644 +index bf23dd2..9cfce16 100644 --- a/doc/iscsiadm.8 +++ b/doc/iscsiadm.8 -@@ -241,7 +241,7 @@ This option is only valid for ping submode. +@@ -228,7 +228,7 @@ This option is only valid for ping submode. .TP \fB\-I\fR, \fB\-\-interface=\fI[iface]\fR The interface argument specifies the iSCSI interface to use for the operation. @@ -158,16 +159,16 @@ index a82805e28fb9..758a47c2d1fe 100644 iSCSI (qla4xxx) the iface config must have the hardware address (iface.hwaddress = port's MAC address) and the driver/transport_name (iface.transport_name). The iface's name is -@@ -318,7 +318,7 @@ If no other options are specified: for \fIdiscovery\fR, \fIdiscoverydb\fR and +@@ -301,7 +301,7 @@ If no other options are specified: for \fIdiscovery\fR, \fIdiscoverydb\fR and \fInode\fR, all of their respective records are displayed; for \fIsession\fR, all active sessions and connections are displayed; for \fIfw\fR, all boot firmware values are displayed; for \fIhost\fR, all iSCSI hosts are displayed; -and for \fIiface\fR, all ifaces setup in /etc/iscsi/ifaces are displayed. +and for \fIiface\fR, all ifaces setup in /var/lib/iscsi/ifaces are displayed. - .TP \fB\-n\fR, \fB\-\-name=\fIname\fR -@@ -703,10 +703,10 @@ The configuration file read by \fBiscsid\fR and \fBiscsiadm\fR on startup. + In node mode, specify a field \fIname\fR in a record. In flashnode submode +@@ -640,10 +640,10 @@ The configuration file read by \fBiscsid\fR and \fBiscsiadm\fR on startup. The file containing the iSCSI InitiatorName and InitiatorAlias read by \fBiscsid\fR and \fBiscsiadm\fR on startup. .TP @@ -178,13 +179,26 @@ index a82805e28fb9..758a47c2d1fe 100644 -/etc/iscsi/send_targets +/var/lib/iscsi/send_targets This directory contains the portals. + .SH "SEE ALSO" + .BR iscsid (8) +diff --git a/doc/iscsid.8 b/doc/iscsid.8 +index 6f9218f..0da0551 100644 +--- a/doc/iscsid.8 ++++ b/doc/iscsid.8 +@@ -65,7 +65,7 @@ and + .B iscsiadm + on startup. + .TP +-/etc/iscsi/nodes ++/var/lib/iscsi/nodes + Open-iSCSI persistent configuration database .SH "SEE ALSO" diff --git a/usr/idbm.c b/usr/idbm.c -index 0aa3870a76fd..ec33ce905dc1 100644 +index f3c812e..8b96146 100644 --- a/usr/idbm.c +++ b/usr/idbm.c -@@ -2926,9 +2926,9 @@ free_info: +@@ -2929,9 +2929,9 @@ free_info: int idbm_init(idbm_get_config_file_fn *fn) { /* make sure root db dir is there */ @@ -198,7 +212,7 @@ index 0aa3870a76fd..ec33ce905dc1 100644 return errno; } diff --git a/usr/idbm.h b/usr/idbm.h -index b83c0bb1cca8..2b05d7871be9 100644 +index b83c0bb..2b05d78 100644 --- a/usr/idbm.h +++ b/usr/idbm.h @@ -29,12 +29,13 @@ @@ -222,7 +236,7 @@ index b83c0bb1cca8..2b05d7871be9 100644 #define ISNS_CONFIG_NAME "isns_config" diff --git a/usr/iface.h b/usr/iface.h -index 6c06f7f7d450..c8b9de9a7c3a 100644 +index 6c06f7f..c8b9de9 100644 --- a/usr/iface.h +++ b/usr/iface.h @@ -21,8 +21,9 @@ @@ -237,5 +251,5 @@ index 6c06f7f7d450..c8b9de9a7c3a 100644 struct iface_rec; struct list_head; -- -2.14.4 +2.21.0 diff --git a/SOURCES/0009-libiscsi.patch b/SOURCES/0009-libiscsi.patch index b90686b..e946747 100644 --- a/SOURCES/0009-libiscsi.patch +++ b/SOURCES/0009-libiscsi.patch @@ -1,32 +1,32 @@ -From ef17e73261b386a21e231aa702c65e58ee8f65cc Mon Sep 17 00:00:00 2001 +From e2973cb7d4bca9056702b698511c020c93438e2a Mon Sep 17 00:00:00 2001 From: rpm-build Date: Mon, 26 Jan 2015 12:57:11 -0800 -Subject: [PATCH 09/32] libiscsi +Subject: [PATCH] libiscsi --- Makefile | 2 + - libiscsi/Makefile | 61 ++ - libiscsi/libiscsi.c | 617 +++++++++++ - libiscsi/libiscsi.doxy | 1473 +++++++++++++++++++++++++++ - libiscsi/libiscsi.h | 344 +++++++ + libiscsi/Makefile | 65 + + libiscsi/libiscsi.c | 617 ++++++++ + libiscsi/libiscsi.doxy | 1473 +++++++++++++++++++ + libiscsi/libiscsi.h | 344 +++++ libiscsi/no_date_footer.html | 6 + - libiscsi/pylibiscsi.c | 709 +++++++++++++ + libiscsi/pylibiscsi.c | 709 +++++++++ libiscsi/setup.py | 9 + libiscsi/tests/test_discovery_firmware.c | 53 + - libiscsi/tests/test_discovery_sendtargets.c | 60 ++ - libiscsi/tests/test_get_auth.c | 70 ++ + libiscsi/tests/test_discovery_sendtargets.c | 60 + + libiscsi/tests/test_get_auth.c | 70 + libiscsi/tests/test_get_initiator_name.c | 38 + libiscsi/tests/test_get_network_config.c | 45 + libiscsi/tests/test_login.c | 52 + libiscsi/tests/test_logout.c | 51 + libiscsi/tests/test_params.c | 103 ++ - libiscsi/tests/test_set_auth.c | 58 ++ + libiscsi/tests/test_set_auth.c | 58 + usr/Makefile | 2 +- usr/discovery.c | 5 + usr/idbm.c | 6 +- usr/idbm.h | 3 + usr/iscsi_ipc.h | 2 + - 22 files changed, 3765 insertions(+), 4 deletions(-) + 22 files changed, 3769 insertions(+), 4 deletions(-) create mode 100644 libiscsi/Makefile create mode 100644 libiscsi/libiscsi.c create mode 100644 libiscsi/libiscsi.doxy @@ -45,10 +45,10 @@ Subject: [PATCH 09/32] libiscsi create mode 100644 libiscsi/tests/test_set_auth.c diff --git a/Makefile b/Makefile -index c533e9d0d016..80afe86d6558 100644 +index 9a33774..bef6f1f 100644 --- a/Makefile +++ b/Makefile -@@ -52,6 +52,7 @@ user: iscsiuio/Makefile +@@ -58,6 +58,7 @@ user: iscsiuio/Makefile $(MAKE) -C usr $(MAKE) -C utils $(MAKE) -C iscsiuio @@ -56,7 +56,7 @@ index c533e9d0d016..80afe86d6558 100644 @echo @echo "Compilation complete Output file" @echo "----------------------------------- ----------------" -@@ -72,6 +73,7 @@ iscsiuio/configure iscsiuio/Makefile.in: iscsiuio/configure.ac iscsiuio/Makefile +@@ -78,6 +79,7 @@ iscsiuio/configure iscsiuio/Makefile.in: iscsiuio/configure.ac iscsiuio/Makefile force: ; clean: @@ -66,7 +66,7 @@ index c533e9d0d016..80afe86d6558 100644 $(MAKE) -C utils clean diff --git a/libiscsi/Makefile b/libiscsi/Makefile new file mode 100644 -index 000000000000..317a7ec4db30 +index 0000000..53f9746 --- /dev/null +++ b/libiscsi/Makefile @@ -0,0 +1,65 @@ @@ -137,7 +137,7 @@ index 000000000000..317a7ec4db30 +-include .depend ../usr/.depend diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c new file mode 100644 -index 000000000000..064e4b570d0b +index 0000000..064e4b5 --- /dev/null +++ b/libiscsi/libiscsi.c @@ -0,0 +1,617 @@ @@ -760,7 +760,7 @@ index 000000000000..064e4b570d0b +} diff --git a/libiscsi/libiscsi.doxy b/libiscsi/libiscsi.doxy new file mode 100644 -index 000000000000..7a5ff7f7cd5a +index 0000000..7a5ff7f --- /dev/null +++ b/libiscsi/libiscsi.doxy @@ -0,0 +1,1473 @@ @@ -2239,7 +2239,7 @@ index 000000000000..7a5ff7f7cd5a +SEARCHENGINE = NO diff --git a/libiscsi/libiscsi.h b/libiscsi/libiscsi.h new file mode 100644 -index 000000000000..756590e14d8b +index 0000000..756590e --- /dev/null +++ b/libiscsi/libiscsi.h @@ -0,0 +1,344 @@ @@ -2589,7 +2589,7 @@ index 000000000000..756590e14d8b +#endif diff --git a/libiscsi/no_date_footer.html b/libiscsi/no_date_footer.html new file mode 100644 -index 000000000000..1e0c6c4ab49e +index 0000000..1e0c6c4 --- /dev/null +++ b/libiscsi/no_date_footer.html @@ -0,0 +1,6 @@ @@ -2601,7 +2601,7 @@ index 000000000000..1e0c6c4ab49e + diff --git a/libiscsi/pylibiscsi.c b/libiscsi/pylibiscsi.c new file mode 100644 -index 000000000000..88008538f04f +index 0000000..8800853 --- /dev/null +++ b/libiscsi/pylibiscsi.c @@ -0,0 +1,709 @@ @@ -3316,7 +3316,7 @@ index 000000000000..88008538f04f +} diff --git a/libiscsi/setup.py b/libiscsi/setup.py new file mode 100644 -index 000000000000..caa4e66ca906 +index 0000000..caa4e66 --- /dev/null +++ b/libiscsi/setup.py @@ -0,0 +1,9 @@ @@ -3331,7 +3331,7 @@ index 000000000000..caa4e66ca906 + description = 'libiscsi python bindings', ext_modules = [module1]) diff --git a/libiscsi/tests/test_discovery_firmware.c b/libiscsi/tests/test_discovery_firmware.c new file mode 100644 -index 000000000000..76e852a37019 +index 0000000..76e852a --- /dev/null +++ b/libiscsi/tests/test_discovery_firmware.c @@ -0,0 +1,53 @@ @@ -3390,7 +3390,7 @@ index 000000000000..76e852a37019 +} diff --git a/libiscsi/tests/test_discovery_sendtargets.c b/libiscsi/tests/test_discovery_sendtargets.c new file mode 100644 -index 000000000000..1a3c12ef684b +index 0000000..1a3c12e --- /dev/null +++ b/libiscsi/tests/test_discovery_sendtargets.c @@ -0,0 +1,60 @@ @@ -3456,7 +3456,7 @@ index 000000000000..1a3c12ef684b +} diff --git a/libiscsi/tests/test_get_auth.c b/libiscsi/tests/test_get_auth.c new file mode 100644 -index 000000000000..5e234dadd0de +index 0000000..5e234da --- /dev/null +++ b/libiscsi/tests/test_get_auth.c @@ -0,0 +1,70 @@ @@ -3532,7 +3532,7 @@ index 000000000000..5e234dadd0de +} diff --git a/libiscsi/tests/test_get_initiator_name.c b/libiscsi/tests/test_get_initiator_name.c new file mode 100644 -index 000000000000..997c053e5bf6 +index 0000000..997c053 --- /dev/null +++ b/libiscsi/tests/test_get_initiator_name.c @@ -0,0 +1,38 @@ @@ -3576,7 +3576,7 @@ index 000000000000..997c053e5bf6 +} diff --git a/libiscsi/tests/test_get_network_config.c b/libiscsi/tests/test_get_network_config.c new file mode 100644 -index 000000000000..2dedd6102858 +index 0000000..2dedd61 --- /dev/null +++ b/libiscsi/tests/test_get_network_config.c @@ -0,0 +1,45 @@ @@ -3627,7 +3627,7 @@ index 000000000000..2dedd6102858 +} diff --git a/libiscsi/tests/test_login.c b/libiscsi/tests/test_login.c new file mode 100644 -index 000000000000..3eb70d63e111 +index 0000000..3eb70d6 --- /dev/null +++ b/libiscsi/tests/test_login.c @@ -0,0 +1,52 @@ @@ -3685,7 +3685,7 @@ index 000000000000..3eb70d63e111 +} diff --git a/libiscsi/tests/test_logout.c b/libiscsi/tests/test_logout.c new file mode 100644 -index 000000000000..b734dca58773 +index 0000000..b734dca --- /dev/null +++ b/libiscsi/tests/test_logout.c @@ -0,0 +1,51 @@ @@ -3742,7 +3742,7 @@ index 000000000000..b734dca58773 +} diff --git a/libiscsi/tests/test_params.c b/libiscsi/tests/test_params.c new file mode 100644 -index 000000000000..d3223be1e894 +index 0000000..d3223be --- /dev/null +++ b/libiscsi/tests/test_params.c @@ -0,0 +1,103 @@ @@ -3851,7 +3851,7 @@ index 000000000000..d3223be1e894 +} diff --git a/libiscsi/tests/test_set_auth.c b/libiscsi/tests/test_set_auth.c new file mode 100644 -index 000000000000..a21f88806ab9 +index 0000000..a21f888 --- /dev/null +++ b/libiscsi/tests/test_set_auth.c @@ -0,0 +1,58 @@ @@ -3914,20 +3914,20 @@ index 000000000000..a21f88806ab9 + return rc; +} diff --git a/usr/Makefile b/usr/Makefile -index f9445adabbb0..8751d0d05468 100644 +index 0203127..e4752e6 100644 --- a/usr/Makefile +++ b/usr/Makefile -@@ -35,7 +35,7 @@ endif +@@ -37,7 +37,7 @@ PKG_CONFIG = /usr/bin/pkg-config CFLAGS ?= -O2 -g WARNFLAGS ?= -Wall -Wstrict-prototypes CFLAGS += $(WARNFLAGS) -I../include -I. -D_GNU_SOURCE \ - -I$(TOPDIR)/libopeniscsiusr + -I$(TOPDIR)/libopeniscsiusr -DISNS_ENABLE + CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod) ISCSI_LIB = -L$(TOPDIR)/libopeniscsiusr -lopeniscsiusr - PROGRAMS = iscsid iscsiadm iscsistart - + LDFLAGS += $(shell $(PKG_CONFIG) --libs libkmod) diff --git a/usr/discovery.c b/usr/discovery.c -index 8001af6fe452..02b77f02b644 100644 +index 199c160..d17a250 100644 --- a/usr/discovery.c +++ b/usr/discovery.c @@ -36,6 +36,7 @@ @@ -3968,10 +3968,10 @@ index 8001af6fe452..02b77f02b644 100644 int discovery_fw(void *data, struct iface_rec *iface, struct list_head *rec_list) diff --git a/usr/idbm.c b/usr/idbm.c -index ec33ce905dc1..6b651765f19e 100644 +index 8b96146..19f7e84 100644 --- a/usr/idbm.c +++ b/usr/idbm.c -@@ -1709,9 +1709,9 @@ int idbm_print_all_discovery(int info_level) +@@ -1712,9 +1712,9 @@ int idbm_print_all_discovery(int info_level) * fn should return -1 if it skipped the rec, an ISCSI_ERR error code if * the operation failed or 0 if fn was run successfully. */ @@ -3985,7 +3985,7 @@ index ec33ce905dc1..6b651765f19e 100644 DIR *iface_dirfd; struct dirent *iface_dent; diff --git a/usr/idbm.h b/usr/idbm.h -index 2b05d7871be9..b9b1810f78f2 100644 +index 2b05d78..b9b1810 100644 --- a/usr/idbm.h +++ b/usr/idbm.h @@ -102,6 +102,9 @@ struct rec_op_data { @@ -3999,7 +3999,7 @@ index 2b05d7871be9..b9b1810f78f2 100644 idbm_portal_op_fn *fn, char *targetname); extern int idbm_for_each_node(int *found, void *data, diff --git a/usr/iscsi_ipc.h b/usr/iscsi_ipc.h -index 47857dd9b0ca..fb8e96552551 100644 +index 47857dd..fb8e965 100644 --- a/usr/iscsi_ipc.h +++ b/usr/iscsi_ipc.h @@ -162,4 +162,6 @@ struct iscsi_ipc { @@ -4010,5 +4010,5 @@ index 47857dd9b0ca..fb8e96552551 100644 + #endif /* ISCSI_IPC_H */ -- -2.14.4 +2.21.0 diff --git a/SOURCES/0011-iscsiuio-systemd-unit-files.patch b/SOURCES/0011-iscsiuio-systemd-unit-files.patch deleted file mode 100644 index da97e01..0000000 --- a/SOURCES/0011-iscsiuio-systemd-unit-files.patch +++ /dev/null @@ -1,53 +0,0 @@ -From f16f7f90721c9d6965e48c7338a600d23b58e19d Mon Sep 17 00:00:00 2001 -From: Chris Leech -Date: Tue, 22 Jan 2013 14:27:12 -0800 -Subject: [PATCH 11/32] iscsiuio systemd unit files - ---- - etc/systemd/iscsiuio.service | 17 +++++++++++++++++ - etc/systemd/iscsiuio.socket | 9 +++++++++ - 2 files changed, 26 insertions(+) - create mode 100644 etc/systemd/iscsiuio.service - create mode 100644 etc/systemd/iscsiuio.socket - -diff --git a/etc/systemd/iscsiuio.service b/etc/systemd/iscsiuio.service -new file mode 100644 -index 000000000000..f0410b76b80e ---- /dev/null -+++ b/etc/systemd/iscsiuio.service -@@ -0,0 +1,17 @@ -+[Unit] -+Description=iSCSI UserSpace I/O driver -+Documentation=man:iscsiuio(8) -+DefaultDependencies=no -+Conflicts=shutdown.target -+Requires=iscsid.service -+BindTo=iscsid.service -+After=network.target -+Before=remote-fs-pre.target iscsid.service -+ -+[Service] -+Type=forking -+PIDFile=/var/run/iscsiuio.pid -+ExecStart=/usr/sbin/iscsiuio -+ -+[Install] -+WantedBy=multi-user.target -diff --git a/etc/systemd/iscsiuio.socket b/etc/systemd/iscsiuio.socket -new file mode 100644 -index 000000000000..d42cedc161a3 ---- /dev/null -+++ b/etc/systemd/iscsiuio.socket -@@ -0,0 +1,9 @@ -+[Unit] -+Description=Open-iSCSI iscsiuio Socket -+Documentation=man:iscsiuio(8) -+ -+[Socket] -+ListenStream=@ISCSID_UIP_ABSTRACT_NAMESPACE -+ -+[Install] -+WantedBy=sockets.target --- -2.14.4 - diff --git a/SOURCES/0012-Don-t-check-for-autostart-sessions-if-iscsi-is-not-u.patch b/SOURCES/0012-Don-t-check-for-autostart-sessions-if-iscsi-is-not-u.patch deleted file mode 100644 index 9980d61..0000000 --- a/SOURCES/0012-Don-t-check-for-autostart-sessions-if-iscsi-is-not-u.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9807bf0a042238891f2008a5a6d70acfd6724b12 Mon Sep 17 00:00:00 2001 -From: Chris Leech -Date: Tue, 28 May 2013 13:12:27 -0700 -Subject: [PATCH 12/32] Don't check for autostart sessions if iscsi is not used - (bug #951951) - -Change conditional startup in iscsi.service to check for a non-empty -nodes directory, instead of initiator-name. This fits better with what -it's doing, as there's no need to scan for autostart node records if -there are no node records at all. ---- - etc/systemd/iscsi.service | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service -index 0309e2fc9892..d5712bd3779b 100644 ---- a/etc/systemd/iscsi.service -+++ b/etc/systemd/iscsi.service -@@ -5,7 +5,7 @@ DefaultDependencies=no - Conflicts=shutdown.target - After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service - Before=remote-fs-pre.target --ConditionPathExists=/etc/iscsi/initiatorname.iscsi -+ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes - - [Service] - Type=oneshot --- -2.14.4 - diff --git a/SOURCES/0014-update-handling-of-boot-sessions.patch b/SOURCES/0014-update-handling-of-boot-sessions.patch deleted file mode 100644 index 953bef9..0000000 --- a/SOURCES/0014-update-handling-of-boot-sessions.patch +++ /dev/null @@ -1,55 +0,0 @@ -From c7b743486c6a499a037744760846abdb42959808 Mon Sep 17 00:00:00 2001 -From: Chris Leech -Date: Wed, 26 Feb 2014 16:33:48 -0800 -Subject: [PATCH 14/32] update handling of boot sessions - -force start iscsiuio if needed, socket activation does not seem to be -working for recovery ---- - etc/systemd/iscsi-mark-root-nodes | 29 +++++++++++++++++++++++------ - 1 file changed, 23 insertions(+), 6 deletions(-) - -diff --git a/etc/systemd/iscsi-mark-root-nodes b/etc/systemd/iscsi-mark-root-nodes -index 157be62b4041..6bddf6c5ccc1 100644 ---- a/etc/systemd/iscsi-mark-root-nodes -+++ b/etc/systemd/iscsi-mark-root-nodes -@@ -1,13 +1,30 @@ - #!/bin/bash - - ISCSIADM=/sbin/iscsiadm -+start_iscsid=0 -+start_iscsiuio=0 - --$ISCSIADM -m session >/dev/null 2>&1 || exit 0 -+while read t num p target flash; do -+ # strip tag number from portal, keep "ip:port" -+ portal=${p%,*} -+ transport=${t%:} - --$ISCSIADM -m session | while read t num i target; do -- ip=${i%:*} -- $ISCSIADM -m node -p $ip -T $target -o update -n node.startup -v onboot --done -+ $ISCSIADM -m node -p $portal -T $target -o update -n node.startup -v onboot - --systemctl start iscsid.service -+ start_iscsid=1 -+ -+ if [ "$transport" = bnx2i ] || [ "$transport" = qedi ]; then -+ start_iscsiuio=1 -+ fi -+done < <( $ISCSIADM -m session ) -+ -+# force iscsid and iscsiuio to start if needed for -+# recovering sessions created in the initrd -+ -+if [ "$start_iscsid" -eq 1 ]; then -+ systemctl --no-block start iscsid.service -+fi -+if [ "$start_iscsiuio" -eq 1 ]; then -+ systemctl --no-block start iscsiuio.service -+fi - --- -2.14.4 - diff --git a/SOURCES/0015-update-iscsi.service-for-boot-session-recovery.patch b/SOURCES/0015-update-iscsi.service-for-boot-session-recovery.patch deleted file mode 100644 index 96454d2..0000000 --- a/SOURCES/0015-update-iscsi.service-for-boot-session-recovery.patch +++ /dev/null @@ -1,34 +0,0 @@ -From f349a706ec083574fbf7ed1e479fdfebde7023b8 Mon Sep 17 00:00:00 2001 -From: Chris Leech -Date: Fri, 14 Mar 2014 09:22:21 -0700 -Subject: [PATCH 15/32] update iscsi.service for boot session recovery - ---- - etc/systemd/iscsi.service | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service -index d5712bd3779b..3de76c5b07ec 100644 ---- a/etc/systemd/iscsi.service -+++ b/etc/systemd/iscsi.service -@@ -5,14 +5,15 @@ DefaultDependencies=no - Conflicts=shutdown.target - After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service - Before=remote-fs-pre.target --ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes -+ConditionDirectoryNotEmpty=|/var/lib/iscsi/nodes -+ConditionDirectoryNotEmpty=|/sys/class/iscsi_session - - [Service] - Type=oneshot - RemainAfterExit=true - ExecStart=/usr/libexec/iscsi-mark-root-nodes -+SuccessExitStatus=21 - ExecStart=/sbin/iscsiadm -m node --loginall=automatic --ExecStop=/bin/sync - ExecStop=/sbin/iscsiadm -m node --logoutall=automatic - ExecReload=/sbin/iscsiadm -m node --loginall=automatic - --- -2.14.4 - diff --git a/SOURCES/0016-updates-to-iscsi.service.patch b/SOURCES/0016-updates-to-iscsi.service.patch deleted file mode 100644 index edb9005..0000000 --- a/SOURCES/0016-updates-to-iscsi.service.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 954ab51516734aaeed01a195a6e70b825b0bf10a Mon Sep 17 00:00:00 2001 -From: Chris Leech -Date: Wed, 17 Sep 2014 09:58:39 -0700 -Subject: [PATCH 16/32] updates to iscsi.service - -Resolves: #1126524 -Resolves: #1111925 ---- - etc/systemd/iscsi.service | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service -index 3de76c5b07ec..ad7be34d5918 100644 ---- a/etc/systemd/iscsi.service -+++ b/etc/systemd/iscsi.service -@@ -5,17 +5,17 @@ DefaultDependencies=no - Conflicts=shutdown.target - After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service - Before=remote-fs-pre.target -+Wants=remote-fs-pre.target - ConditionDirectoryNotEmpty=|/var/lib/iscsi/nodes - ConditionDirectoryNotEmpty=|/sys/class/iscsi_session - - [Service] - Type=oneshot - RemainAfterExit=true --ExecStart=/usr/libexec/iscsi-mark-root-nodes --SuccessExitStatus=21 --ExecStart=/sbin/iscsiadm -m node --loginall=automatic --ExecStop=/sbin/iscsiadm -m node --logoutall=automatic --ExecReload=/sbin/iscsiadm -m node --loginall=automatic -+ExecStart=-/usr/libexec/iscsi-mark-root-nodes -+ExecStart=-/sbin/iscsiadm -m node --loginall=automatic -+ExecStop=-/sbin/iscsiadm -m node --logoutall=automatic -+ExecReload=-/sbin/iscsiadm -m node --loginall=automatic - - [Install] - WantedBy=sysinit.target --- -2.14.4 - diff --git a/SOURCES/0017-make-session-shutdown-a-seperate-service.patch.patch b/SOURCES/0017-make-session-shutdown-a-seperate-service.patch.patch deleted file mode 100644 index e1ae024..0000000 --- a/SOURCES/0017-make-session-shutdown-a-seperate-service.patch.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 3815643d7db65487fa2b7058dd612ddf2549f85a Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Tue, 13 Jan 2015 16:30:01 -0800 -Subject: [PATCH 17/32] make-session-shutdown-a-seperate-service.patch - ---- - etc/systemd/iscsi-shutdown.service | 14 ++++++++++++++ - etc/systemd/iscsi.service | 3 +-- - 2 files changed, 15 insertions(+), 2 deletions(-) - create mode 100644 etc/systemd/iscsi-shutdown.service - -diff --git a/etc/systemd/iscsi-shutdown.service b/etc/systemd/iscsi-shutdown.service -new file mode 100644 -index 000000000000..23758e959ff2 ---- /dev/null -+++ b/etc/systemd/iscsi-shutdown.service -@@ -0,0 +1,14 @@ -+[Unit] -+Description=Logout off all iSCSI sessions on shutdown -+Documentation=man:iscsid(8) man:iscsiadm(8) -+DefaultDependencies=no -+Conflicts=shutdown.target -+After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service -+Before=remote-fs-pre.target -+Wants=remote-fs-pre.target -+RefuseManualStop=yes -+ -+[Service] -+Type=oneshot -+RemainAfterExit=true -+ExecStop=-/sbin/iscsiadm -m node --logoutall=all -diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service -index ad7be34d5918..27369568bf35 100644 ---- a/etc/systemd/iscsi.service -+++ b/etc/systemd/iscsi.service -@@ -5,7 +5,7 @@ DefaultDependencies=no - Conflicts=shutdown.target - After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service - Before=remote-fs-pre.target --Wants=remote-fs-pre.target -+Wants=remote-fs-pre.target iscsi-shutdown.service - ConditionDirectoryNotEmpty=|/var/lib/iscsi/nodes - ConditionDirectoryNotEmpty=|/sys/class/iscsi_session - -@@ -14,7 +14,6 @@ Type=oneshot - RemainAfterExit=true - ExecStart=-/usr/libexec/iscsi-mark-root-nodes - ExecStart=-/sbin/iscsiadm -m node --loginall=automatic --ExecStop=-/sbin/iscsiadm -m node --logoutall=automatic - ExecReload=-/sbin/iscsiadm -m node --loginall=automatic - - [Install] --- -2.14.4 - diff --git a/SOURCES/0020-use-Red-Hat-version-string-to-match-RPM-package-vers.patch b/SOURCES/0020-use-Red-Hat-version-string-to-match-RPM-package-vers.patch index 44278a3..7dfccec 100644 --- a/SOURCES/0020-use-Red-Hat-version-string-to-match-RPM-package-vers.patch +++ b/SOURCES/0020-use-Red-Hat-version-string-to-match-RPM-package-vers.patch @@ -15,8 +15,8 @@ index 4dfef4ccfb77..1334d47c6bb3 100644 * 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-876" -+#define ISCSI_VERSION_STR "6.2.0.876-5" +-#define ISCSI_VERSION_STR "2.0-877" ++#define ISCSI_VERSION_STR "6.2.0.877-0" #define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version" #endif diff --git a/SOURCES/open-iscsi-2.0.876-66-Allow-reading-sysfs-port-to-fail-gracefully.patch b/SOURCES/open-iscsi-2.0.876-66-Allow-reading-sysfs-port-to-fail-gracefully.patch deleted file mode 100644 index 454ce6d..0000000 --- a/SOURCES/open-iscsi-2.0.876-66-Allow-reading-sysfs-port-to-fail-gracefully.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit d8298fc54eb69d3989878be46e9c7d6ec2055650 -Author: Lee Duncan -Date: Mon Sep 24 16:22:18 2018 -0700 - - Allow reading sysfs "port" to fail gracefully. - - Do not consider it a fatal error if reading sysfs value - for "port" fails, since we allow failure for "address". ---- - libopeniscsiusr/session.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libopeniscsiusr/session.c b/libopeniscsiusr/session.c -index a8339395fc03..f8c89c323afb 100644 ---- a/libopeniscsiusr/session.c -+++ b/libopeniscsiusr/session.c -@@ -205,8 +205,8 @@ int iscsi_session_get(struct iscsi_context *ctx, uint32_t sid, - _sysfs_prop_get_str(ctx, sysfs_con_dir_path, "address", (*se)->address, - sizeof((*se)->address) / sizeof(char), ""); - -- _good(_sysfs_prop_get_i32(ctx, sysfs_con_dir_path, "port", -- &((*se)->port), -1, false), rc, out); -+ _sysfs_prop_get_i32(ctx, sysfs_con_dir_path, "port", -+ &((*se)->port), -1, true); - - if ((strcmp((*se)->address, "") == 0) && - (strcmp((*se)->persistent_address, "") != 0)) diff --git a/SOURCES/open-iscsi-2.0.876-67-Fix-incorrect-sysfs-logic-for-port-and-ip-address.patch b/SOURCES/open-iscsi-2.0.876-67-Fix-incorrect-sysfs-logic-for-port-and-ip-address.patch deleted file mode 100644 index 1efe3ab..0000000 --- a/SOURCES/open-iscsi-2.0.876-67-Fix-incorrect-sysfs-logic-for-port-and-ip-address.patch +++ /dev/null @@ -1,48 +0,0 @@ -commit 7df5edbb427c79337bdd651c2bcdda8eb05f077b -Author: Lee Duncan -Date: Mon Sep 24 16:30:34 2018 -0700 - - Fix incorrect sysfs logic for port and ip address. - - If "port" is available and "persistent_port" is not, then - correctly use the one that is present for both values. - Likewise for "address" and "persistent_address". ---- - libopeniscsiusr/session.c | 18 ++++++++---------- - 1 file changed, 8 insertions(+), 10 deletions(-) - -diff --git a/libopeniscsiusr/session.c b/libopeniscsiusr/session.c -index f8c89c323afb..98601dcf807e 100644 ---- a/libopeniscsiusr/session.c -+++ b/libopeniscsiusr/session.c -@@ -208,22 +208,20 @@ int iscsi_session_get(struct iscsi_context *ctx, uint32_t sid, - _sysfs_prop_get_i32(ctx, sysfs_con_dir_path, "port", - &((*se)->port), -1, true); - -- if ((strcmp((*se)->address, "") == 0) && -- (strcmp((*se)->persistent_address, "") != 0)) -- _strncpy((*se)->persistent_address, (*se)->address, -- sizeof((*se)->persistent_address) / sizeof(char)); -- - if ((strcmp((*se)->address, "") != 0) && - (strcmp((*se)->persistent_address, "") == 0)) -+ _strncpy((*se)->persistent_address, (*se)->address, -+ sizeof((*se)->persistent_address) / sizeof(char)); -+ else if ((strcmp((*se)->address, "") == 0) && -+ (strcmp((*se)->persistent_address, "") != 0)) - _strncpy((*se)->address, (*se)->persistent_address, - sizeof((*se)->address) / sizeof(char)); - -- if (((*se)->persistent_port != -1) && -- ((*se)->port == -1)) -+ if (((*se)->persistent_port == -1) && -+ ((*se)->port != -1)) - (*se)->persistent_port = (*se)->port; -- -- if (((*se)->persistent_port != -1) && -- ((*se)->port == -1)) -+ else if (((*se)->persistent_port != -1) && -+ ((*se)->port == -1)) - (*se)->port = (*se)->persistent_port; - - _good(_iscsi_host_id_of_session(ctx, sid, &host_id), rc, out); diff --git a/SOURCES/open-iscsi-2.0.876-68-Fix-reading-of-sysfs-signed-integers-when-negative.patch b/SOURCES/open-iscsi-2.0.876-68-Fix-reading-of-sysfs-signed-integers-when-negative.patch deleted file mode 100644 index 23d7ef8..0000000 --- a/SOURCES/open-iscsi-2.0.876-68-Fix-reading-of-sysfs-signed-integers-when-negative.patch +++ /dev/null @@ -1,73 +0,0 @@ -commit 09d7031cb462889392090e71991a89c522d387bc -Author: Lee Duncan -Date: Mon Sep 24 16:37:19 2018 -0700 - - Fix reading of sysfs signed integers when negative. - - The code for reading all sysfs integer types (of all - sizes) did not work when reading signed integers and - the return value was negative. So when the default was -1 - and the value was not present, the code tried to return -1. - But the logic for checking against "max value" was - incorrect, causing INT_MAX to be returned instead of -1. ---- - libopeniscsiusr/sysfs.c | 32 +++++++++++++++++++++++++++----- - 1 file changed, 27 insertions(+), 5 deletions(-) - -diff --git a/libopeniscsiusr/sysfs.c b/libopeniscsiusr/sysfs.c -index 08f71b317c55..c4f89a31aca0 100644 ---- a/libopeniscsiusr/sysfs.c -+++ b/libopeniscsiusr/sysfs.c -@@ -47,7 +47,7 @@ - - #define _SYS_NULL_STR "(null)" - --#define _sysfs_prop_get_int_func_gen(func_name, out_type, type_max_value) \ -+#define _sysfs_prop_get_uint_func_gen(func_name, out_type, type_max_value) \ - int func_name(struct iscsi_context *ctx, const char *dir_path, \ - const char *prop_name, out_type *val, \ - out_type default_value, bool ignore_error) \ -@@ -63,6 +63,28 @@ - return rc; \ - } - -+#define _sysfs_prop_get_int_func_gen(func_name, out_type, type_min_value, type_max_value) \ -+ int func_name(struct iscsi_context *ctx, const char *dir_path, \ -+ const char *prop_name, out_type *val, \ -+ out_type default_value, bool ignore_error) \ -+ { \ -+ long long int tmp_val = 0; \ -+ int rc = LIBISCSI_OK; \ -+ long long int dv = default_value; \ -+ rc = iscsi_sysfs_prop_get_ll(ctx, dir_path, prop_name, \ -+ &tmp_val, (long long int) dv, \ -+ ignore_error); \ -+ if (rc == LIBISCSI_OK) { \ -+ if (tmp_val > type_max_value) \ -+ *val = type_max_value; \ -+ else if (tmp_val < type_min_value) \ -+ *val = type_min_value; \ -+ else \ -+ *val = tmp_val; \ -+ } \ -+ return rc; \ -+ } -+ - - enum _sysfs_dev_class { - _SYSFS_DEV_CLASS_ISCSI_SESSION, -@@ -82,10 +104,10 @@ static int iscsi_sysfs_prop_get_ll(struct iscsi_context *ctx, - static int sysfs_get_dev_path(struct iscsi_context *ctx, const char *path, - enum _sysfs_dev_class class, char **dev_path); - --_sysfs_prop_get_int_func_gen(_sysfs_prop_get_u8, uint8_t, UINT8_MAX); --_sysfs_prop_get_int_func_gen(_sysfs_prop_get_u16, uint16_t, UINT16_MAX); --_sysfs_prop_get_int_func_gen(_sysfs_prop_get_i32, int32_t, INT32_MAX); --_sysfs_prop_get_int_func_gen(_sysfs_prop_get_u32, uint32_t, UINT32_MAX); -+_sysfs_prop_get_uint_func_gen(_sysfs_prop_get_u8, uint8_t, UINT8_MAX); -+_sysfs_prop_get_uint_func_gen(_sysfs_prop_get_u16, uint16_t, UINT16_MAX); -+_sysfs_prop_get_int_func_gen(_sysfs_prop_get_i32, int32_t, INT32_MIN, INT32_MAX); -+_sysfs_prop_get_uint_func_gen(_sysfs_prop_get_u32, uint32_t, UINT32_MAX); - - static int sysfs_read_file(const char *path, uint8_t *buff, size_t buff_size) - { diff --git a/SOURCES/open-iscsi-2.0.876-69-Create-a-new-error-for-target-not-connected.patch b/SOURCES/open-iscsi-2.0.876-69-Create-a-new-error-for-target-not-connected.patch deleted file mode 100644 index c0cb989..0000000 --- a/SOURCES/open-iscsi-2.0.876-69-Create-a-new-error-for-target-not-connected.patch +++ /dev/null @@ -1,69 +0,0 @@ -commit 7d121d12ad6ba7783308c25ffd338a9fa0cc402b -Author: Lee Duncan -Date: Tue Sep 25 09:48:53 2018 -0700 - - Create a new error for "target not connected". - - The session_logout_qtask() function now recognizes - a new state of "target likely not connected" if - syncing up, in connection wait state, and re-opening - the connection. ---- - include/iscsi_err.h | 2 ++ - usr/initiator.c | 16 +++++++++++++++- - usr/iscsi_err.c | 1 + - 3 files changed, 18 insertions(+), 1 deletion(-) - -diff --git a/include/iscsi_err.h b/include/iscsi_err.h -index 506bd8c9bd27..ed000dd00baf 100644 ---- a/include/iscsi_err.h -+++ b/include/iscsi_err.h -@@ -68,6 +68,8 @@ enum { - ISCSI_ERR_UNKNOWN_DISCOVERY_TYPE = 30, - /* child process terminated */ - ISCSI_ERR_CHILD_TERMINATED = 31, -+ /* session likely not connected */ -+ ISCSI_ERR_SESSION_NOT_CONNECTED = 32, - - /* Always last. Indicates end of error code space */ - ISCSI_MAX_ERR_VAL, -diff --git a/usr/initiator.c b/usr/initiator.c -index a86d1e6dee90..935056a3abde 100644 ---- a/usr/initiator.c -+++ b/usr/initiator.c -@@ -2056,8 +2056,22 @@ int session_logout_task(int sid, queue_task_t *qtask) - return ISCSI_ERR_SESS_NOT_FOUND; - } - conn = &session->conn[0]; -+ - /* -- * If syncing up or if this is the initial login and mgmt_ipc -+ * If syncing up, in XPT_WAIT, and REOPENing, then return -+ * an informative error, since the target for this session -+ * is likely not connected -+ */ -+ if (session->notify_qtask && -+ (conn->state == ISCSI_CONN_STATE_XPT_WAIT) && -+ (session->r_stage == R_STAGE_SESSION_REOPEN)) { -+ log_warning("session cannot be terminted because it's trying to reconnect: try again later"); -+ return ISCSI_ERR_SESSION_NOT_CONNECTED; -+ } -+ -+ /* -+ * If syncing up and not reconnecting, -+ * or if this is the initial login and mgmt_ipc - * has not been notified of that result fail the logout request - */ - if (session->notify_qtask || -diff --git a/usr/iscsi_err.c b/usr/iscsi_err.c -index 1ba9e648d7c1..23c61fc3574e 100644 ---- a/usr/iscsi_err.c -+++ b/usr/iscsi_err.c -@@ -54,6 +54,7 @@ static char *iscsi_err_msgs[] = { - /* 29 */ "operation failed but retry may succeed", - /* 30 */ "unknown discovery type", - /* 31 */ "child process terminated", -+ /* 32 */ "target likely not connected", - }; - - char *iscsi_err_to_str(int err) diff --git a/SOURCES/open-iscsi-2.0.876-70-Fix-bug-in-error-message-when-reading-sysfs-numbers.patch b/SOURCES/open-iscsi-2.0.876-70-Fix-bug-in-error-message-when-reading-sysfs-numbers.patch deleted file mode 100644 index 3f5c001..0000000 --- a/SOURCES/open-iscsi-2.0.876-70-Fix-bug-in-error-message-when-reading-sysfs-numbers.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 8bf04a094e572c56d4f8bd30ff064c84c75a0247 -Author: Lee Duncan -Date: Tue Sep 25 09:53:55 2018 -0700 - - Fix bug in error message when reading sysfs numbers. - - The message printed when ENOENT was returned for - a number-type sysfs value was missing the attribute - name parameter. ---- - libopeniscsiusr/sysfs.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libopeniscsiusr/sysfs.c b/libopeniscsiusr/sysfs.c -index c4f89a31aca0..5e6532e7746f 100644 ---- a/libopeniscsiusr/sysfs.c -+++ b/libopeniscsiusr/sysfs.c -@@ -237,7 +237,7 @@ static int iscsi_sysfs_prop_get_ll(struct iscsi_context *ctx, - "Failed to read '%s': " - "File '%s' does not exists, using ", - "default value %lld", -- file_path, default_value); -+ prop_name, file_path, default_value); - *val = default_value; - goto out; - } diff --git a/SOURCES/open-iscsi-2.0.876-71-Handle-ENOTCONN-error-separately-when-reading-sysfs-values.patch b/SOURCES/open-iscsi-2.0.876-71-Handle-ENOTCONN-error-separately-when-reading-sysfs-values.patch deleted file mode 100644 index 916cccc..0000000 --- a/SOURCES/open-iscsi-2.0.876-71-Handle-ENOTCONN-error-separately-when-reading-sysfs-values.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit ae0b2ceb620e2bf527c06d21c110791d1e0e8bf4 -Author: Lee Duncan -Date: Tue Sep 25 09:57:46 2018 -0700 - - Handle ENOTCONN error separately when reading sysfs values. - - This error happens when the daemon is attempting to - reconnect a session when starting up, so should not - be considered an internal error. ---- - libopeniscsiusr/sysfs.c | 31 +++++++++++++++++++++++++++++++ - 1 file changed, 31 insertions(+) - -diff --git a/libopeniscsiusr/sysfs.c b/libopeniscsiusr/sysfs.c -index 5e6532e7746f..2c3f077bf3fa 100644 ---- a/libopeniscsiusr/sysfs.c -+++ b/libopeniscsiusr/sysfs.c -@@ -184,6 +184,21 @@ int _sysfs_prop_get_str(struct iscsi_context *ctx, const char *dir_path, - _error(ctx, "Failed to read '%s': " - "permission deny when reading '%s'", prop_name, - file_path); -+ } else if (errno_save == ENOTCONN) { -+ if (default_value == NULL) { -+ rc = LIBISCSI_ERR_SYSFS_LOOKUP; -+ _error(ctx, "Failed to read '%s': " -+ "error when reading '%s': " -+ "Target unavailable", -+ prop_name, file_path); -+ } else { -+ _info(ctx, "Failed to read '%s': " -+ "error when reading '%s': " -+ "Target unavailable, using default value '%s'", -+ prop_name, file_path, default_value); -+ memcpy(buff, (void *) default_value, -+ strlen(default_value) + 1); -+ } - } else { - rc = LIBISCSI_ERR_BUG; - _error(ctx, "Failed to read '%s': " -@@ -246,6 +261,22 @@ static int iscsi_sysfs_prop_get_ll(struct iscsi_context *ctx, - _error(ctx, "Permission deny when reading '%s'", - file_path); - goto out; -+ } else if (errno_save == ENOTCONN) { -+ if (!ignore_error) { -+ rc = LIBISCSI_ERR_SYSFS_LOOKUP; -+ _error(ctx, "Failed to read '%s': " -+ "error when reading '%s': " -+ "Target unavailable", -+ prop_name, file_path); -+ goto out; -+ } else { -+ _info(ctx, "Failed to read '%s': " -+ "error when reading '%s': " -+ "Target unavailable, using default value %lld", -+ prop_name, file_path, default_value); -+ *val = default_value; -+ goto out; -+ } - } else { - rc = LIBISCSI_ERR_BUG; - _error(ctx, "Error when reading '%s': %d", file_path, diff --git a/SOURCES/open-iscsi-2.0.876-93-Restore-space-in-node-mode-level-0-output.patch b/SOURCES/open-iscsi-2.0.876-93-Restore-space-in-node-mode-level-0-output.patch deleted file mode 100644 index bf8ecde..0000000 --- a/SOURCES/open-iscsi-2.0.876-93-Restore-space-in-node-mode-level-0-output.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit baa0cb45cfcf10a81283c191b0b236cd1a2f66ee -Author: Lee Duncan -Date: Fri Oct 12 09:57:20 2018 -0700 - - Restore space in node-mode level 0 output - - As part of the libopeniscsiusr update, the output - of "iscsiadm -m node" dropped a space that needs to - be between the portal and the target, for proper - parsing. - - Fixes: 87ea50a1c3a97 - -diff --git a/usr/iscsiadm.c b/usr/iscsiadm.c -index e3ba03c838f3..25c6cdc0ff12 100644 ---- a/usr/iscsiadm.c -+++ b/usr/iscsiadm.c -@@ -683,7 +683,7 @@ static int login_portals(struct node_rec *pattern_rec) - - static void print_node_flat(struct iscsi_node *node) - { -- printf("%s,%" PRIu16 "%s\n", -+ printf("%s,%" PRIu16 " %s\n", - iscsi_node_portal_get(node), - iscsi_node_tpgt_get(node), - iscsi_node_target_name_get(node)); diff --git a/SPECS/iscsi-initiator-utils.spec b/SPECS/iscsi-initiator-utils.spec index 5563910..e7476cc 100644 --- a/SPECS/iscsi-initiator-utils.spec +++ b/SPECS/iscsi-initiator-utils.spec @@ -1,6 +1,6 @@ %global open_iscsi_version 2.0 -%global open_iscsi_build 876 -%global commit0 f3c8e90fc0894c088950a15ee6618b427f9e2457 +%global open_iscsi_build 877 +%global commit0 f71581bd641dc26d330cb8b97e5ec272dd08f811 %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) %if 0%{?rhel} > 7 @@ -13,7 +13,7 @@ Summary: iSCSI daemon and utility programs Name: iscsi-initiator-utils Version: 6.%{open_iscsi_version}.%{open_iscsi_build} -Release: 7.git%{shortcommit0}%{?dist} +Release: 1.git%{shortcommit0}%{?dist} Group: System Environment/Daemons License: GPLv2+ URL: http://www.open-iscsi.org @@ -21,42 +21,31 @@ Source0: https://github.com/open-iscsi/open-iscsi/archive/%{commit0}.tar.gz#/ope Source4: 04-iscsi Source5: iscsi-tmpfiles.conf -Patch0001: 0001-idmb_rec_write-check-for-tpgt-first.patch -Patch0002: 0002-idbm_rec_write-seperate-old-and-new-style-writes.patch -Patch0003: 0003-idbw_rec_write-pick-tpgt-from-existing-record.patch -Patch0004: 0004-update-systemd-service-files-add-iscsi.service-for-s.patch -Patch0005: 0005-iscsi-boot-related-service-file-updates.patch +Patch0001: 0001-service-file-tweaks.patch +Patch0002: 0001-fix-iscsiuio-build-with-libsystemd.patch +Patch0003: 0001-idmb_rec_write-check-for-tpgt-first.patch +Patch0004: 0002-idbm_rec_write-seperate-old-and-new-style-writes.patch +Patch0005: 0003-idbw_rec_write-pick-tpgt-from-existing-record.patch Patch0006: 0006-update-initscripts-and-docs.patch Patch0007: 0007-use-var-for-config.patch Patch0008: 0008-use-red-hat-for-name.patch Patch0009: 0009-libiscsi.patch Patch0010: 0010-remove-the-offload-boot-supported-ifdef.patch -Patch0011: 0011-iscsiuio-systemd-unit-files.patch -Patch0012: 0012-Don-t-check-for-autostart-sessions-if-iscsi-is-not-u.patch -Patch0013: 0013-Revert-iscsiadm-return-error-when-login-fails.patch -Patch0014: 0014-update-handling-of-boot-sessions.patch -Patch0015: 0015-update-iscsi.service-for-boot-session-recovery.patch -Patch0016: 0016-updates-to-iscsi.service.patch -Patch0017: 0017-make-session-shutdown-a-seperate-service.patch.patch -Patch0018: 0018-Add-macros-to-release-GIL-lock.patch -Patch0019: 0019-libiscsi-introduce-sessions-API.patch -Patch0020: 0020-use-Red-Hat-version-string-to-match-RPM-package-vers.patch -Patch0021: 0021-libiscsi-fix-discovery-request-timeout-regression.patch -Patch0022: 0022-libiscsi-format-security-build-errors.patch -Patch0023: 0023-libiscsi-fix-build-to-use-libopeniscsiusr.patch -Patch0024: 0024-dont-install-scripts.patch -Patch0028: 0028-use-var-lib-iscsi-in-libopeniscsiusr.patch -Patch0029: open-iscsi-2.0.876-66-Allow-reading-sysfs-port-to-fail-gracefully.patch -Patch0030: open-iscsi-2.0.876-67-Fix-incorrect-sysfs-logic-for-port-and-ip-address.patch -Patch0031: open-iscsi-2.0.876-68-Fix-reading-of-sysfs-signed-integers-when-negative.patch -Patch0032: open-iscsi-2.0.876-69-Create-a-new-error-for-target-not-connected.patch -Patch0033: open-iscsi-2.0.876-70-Fix-bug-in-error-message-when-reading-sysfs-numbers.patch -Patch0034: open-iscsi-2.0.876-71-Handle-ENOTCONN-error-separately-when-reading-sysfs-values.patch -Patch0035: open-iscsi-2.0.876-93-Restore-space-in-node-mode-level-0-output.patch +Patch0011: 0013-Revert-iscsiadm-return-error-when-login-fails.patch +Patch0012: 0018-Add-macros-to-release-GIL-lock.patch +Patch0013: 0019-libiscsi-introduce-sessions-API.patch +Patch0014: 0020-use-Red-Hat-version-string-to-match-RPM-package-vers.patch +Patch0015: 0021-libiscsi-fix-discovery-request-timeout-regression.patch +Patch0016: 0022-libiscsi-format-security-build-errors.patch +Patch0017: 0023-libiscsi-fix-build-to-use-libopeniscsiusr.patch +Patch0018: 0024-dont-install-scripts.patch +Patch0019: 0028-use-var-lib-iscsi-in-libopeniscsiusr.patch +Patch0099: 0001-Coverity-scan-fixes.patch BuildRequires: flex bison doxygen kmod-devel systemd-units BuildRequires: autoconf automake libtool libmount-devel openssl-devel BuildRequires: isns-utils-devel +BuildRequires: systemd-devel # For dir ownership Requires: %{name}-iscsiuio >= %{version}-%{release} Requires(post): systemd @@ -353,6 +342,12 @@ fi %{python3_sitearch}/* %changelog +* Wed Jun 05 2019 Chris Leech - 6.2.0.877-1.gitf71581b +- fix Covscan reported issues from upstream patches + +* Tue Jun 04 2019 Chris Leech - 6.2.0.877-0.gitf71581b +- 1665317 update to latest upstream for iscsiuio enhancements + * Thu Feb 21 2019 Chris Leech - 6.2.0.876-7.gitf3c8e90 - 1647826: fix sysfs and output format regressions in libopeniscsi code