import iscsi-initiator-utils-6.2.0.877-1.gitf71581b.el8
This commit is contained in:
parent
b3152b4b4a
commit
a56167bc10
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/open-iscsi-f3c8e90.tar.gz
|
||||
SOURCES/open-iscsi-f71581b.tar.gz
|
||||
|
@ -1 +1 @@
|
||||
fdf8ac2fc45f493bdc005bb6739406b65126b31f SOURCES/open-iscsi-f3c8e90.tar.gz
|
||||
3d3234035cc7884aa512161e06be6737ade52077 SOURCES/open-iscsi-f71581b.tar.gz
|
||||
|
123
SOURCES/0001-Coverity-scan-fixes.patch
Normal file
123
SOURCES/0001-Coverity-scan-fixes.patch
Normal file
@ -0,0 +1,123 @@
|
||||
From f8e7499e9f69465668fc6e5e7bcfb9ce09e8a457 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
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
|
||||
|
49
SOURCES/0001-fix-iscsiuio-build-with-libsystemd.patch
Normal file
49
SOURCES/0001-fix-iscsiuio-build-with-libsystemd.patch
Normal file
@ -0,0 +1,49 @@
|
||||
From aeca36572c02a8bf314037d82c4a2625636b175a Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
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
|
||||
|
146
SOURCES/0001-service-file-tweaks.patch
Normal file
146
SOURCES/0001-service-file-tweaks.patch
Normal file
@ -0,0 +1,146 @@
|
||||
From efba620a01a2c2fa57b672bced47e88f25078b00 Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <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
|
||||
|
@ -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 <cleech@redhat.com>
|
||||
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 <glob.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/file.h>
|
||||
|
||||
@@ -163,6 +164,8 @@ static struct idbm *db;
|
||||
#include <inttypes.h>
|
||||
@@ -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
|
||||
|
||||
|
@ -1,93 +0,0 @@
|
||||
From 33076c9c1e975ea3225923d66ae24648c0c82a7f Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
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 <cleech@redhat.com>
|
||||
---
|
||||
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
|
||||
|
@ -1,75 +0,0 @@
|
||||
From 5dd8fc7d27204a3461b33defed1e0bb4331c7663 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
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
|
||||
|
@ -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 <cleech@redhat.com>
|
||||
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
|
||||
|
||||
|
@ -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 <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
|
||||
+</html>
|
||||
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
|
||||
|
||||
|
@ -1,53 +0,0 @@
|
||||
From f16f7f90721c9d6965e48c7338a600d23b58e19d Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
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
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 9807bf0a042238891f2008a5a6d70acfd6724b12 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
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
|
||||
|
@ -1,55 +0,0 @@
|
||||
From c7b743486c6a499a037744760846abdb42959808 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
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
|
||||
|
@ -1,34 +0,0 @@
|
||||
From f349a706ec083574fbf7ed1e479fdfebde7023b8 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
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
|
||||
|
@ -1,41 +0,0 @@
|
||||
From 954ab51516734aaeed01a195a6e70b825b0bf10a Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
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
|
||||
|
@ -1,55 +0,0 @@
|
||||
From 3815643d7db65487fa2b7058dd612ddf2549f85a Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <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
|
||||
|
@ -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
|
||||
|
@ -1,27 +0,0 @@
|
||||
commit d8298fc54eb69d3989878be46e9c7d6ec2055650
|
||||
Author: Lee Duncan <lduncan@suse.com>
|
||||
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))
|
@ -1,48 +0,0 @@
|
||||
commit 7df5edbb427c79337bdd651c2bcdda8eb05f077b
|
||||
Author: Lee Duncan <lduncan@suse.com>
|
||||
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);
|
@ -1,73 +0,0 @@
|
||||
commit 09d7031cb462889392090e71991a89c522d387bc
|
||||
Author: Lee Duncan <lduncan@suse.com>
|
||||
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)
|
||||
{
|
@ -1,69 +0,0 @@
|
||||
commit 7d121d12ad6ba7783308c25ffd338a9fa0cc402b
|
||||
Author: Lee Duncan <lduncan@suse.com>
|
||||
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)
|
@ -1,26 +0,0 @@
|
||||
commit 8bf04a094e572c56d4f8bd30ff064c84c75a0247
|
||||
Author: Lee Duncan <lduncan@suse.com>
|
||||
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;
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
commit ae0b2ceb620e2bf527c06d21c110791d1e0e8bf4
|
||||
Author: Lee Duncan <lduncan@suse.com>
|
||||
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,
|
@ -1,26 +0,0 @@
|
||||
commit baa0cb45cfcf10a81283c191b0b236cd1a2f66ee
|
||||
Author: Lee Duncan <lduncan@suse.com>
|
||||
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));
|
@ -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 <cleech@redhat.com> - 6.2.0.877-1.gitf71581b
|
||||
- fix Covscan reported issues from upstream patches
|
||||
|
||||
* Tue Jun 04 2019 Chris Leech <cleech@redhat.com> - 6.2.0.877-0.gitf71581b
|
||||
- 1665317 update to latest upstream for iscsiuio enhancements
|
||||
|
||||
* Thu Feb 21 2019 Chris Leech <cleech@redhat.com> - 6.2.0.876-7.gitf3c8e90
|
||||
- 1647826: fix sysfs and output format regressions in libopeniscsi code
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user