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>
|
From: Chris Leech <cleech@redhat.com>
|
||||||
Date: Tue, 13 Aug 2013 12:39:07 -0700
|
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
|
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
|
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(+)
|
1 file changed, 40 insertions(+)
|
||||||
|
|
||||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
diff --git a/usr/idbm.c b/usr/idbm.c
|
||||||
index 21ff61ab2bd8..cd705fa2b033 100644
|
index c29cbed..00955e4 100644
|
||||||
--- a/usr/idbm.c
|
--- a/usr/idbm.c
|
||||||
+++ b/usr/idbm.c
|
+++ b/usr/idbm.c
|
||||||
@@ -28,6 +28,7 @@
|
@@ -28,6 +28,7 @@
|
||||||
@ -22,8 +22,8 @@ index 21ff61ab2bd8..cd705fa2b033 100644
|
|||||||
+#include <glob.h>
|
+#include <glob.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <sys/file.h>
|
#include <sys/file.h>
|
||||||
|
#include <inttypes.h>
|
||||||
@@ -163,6 +164,8 @@ static struct idbm *db;
|
@@ -164,6 +165,8 @@ static struct idbm *db;
|
||||||
_n++; \
|
_n++; \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
@ -32,7 +32,7 @@ index 21ff61ab2bd8..cd705fa2b033 100644
|
|||||||
static void
|
static void
|
||||||
idbm_recinfo_discovery(discovery_rec_t *r, recinfo_t *ri)
|
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;
|
FILE *f;
|
||||||
char *portal;
|
char *portal;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
@ -83,5 +83,5 @@ index 21ff61ab2bd8..cd705fa2b033 100644
|
|||||||
rec->name, rec->conn[0].address, rec->conn[0].port);
|
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>
|
From: Chris Leech <cleech@redhat.com>
|
||||||
Date: Mon, 19 Nov 2012 16:38:45 -0800
|
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 ++++++++++++++++-----------------
|
README | 33 ++++++++++++++++-----------------
|
||||||
doc/iscsiadm.8 | 8 ++++----
|
doc/iscsiadm.8 | 8 ++++----
|
||||||
|
doc/iscsid.8 | 2 +-
|
||||||
usr/idbm.c | 6 +++---
|
usr/idbm.c | 6 +++---
|
||||||
usr/idbm.h | 13 +++++++------
|
usr/idbm.h | 13 +++++++------
|
||||||
usr/iface.h | 3 ++-
|
usr/iface.h | 3 ++-
|
||||||
5 files changed, 32 insertions(+), 31 deletions(-)
|
6 files changed, 33 insertions(+), 32 deletions(-)
|
||||||
|
|
||||||
diff --git a/README b/README
|
diff --git a/README b/README
|
||||||
index c05814a2593b..326c3b01e608 100644
|
index c05814a..326c3b0 100644
|
||||||
--- a/README
|
--- a/README
|
||||||
+++ b/README
|
+++ b/README
|
||||||
@@ -172,8 +172,7 @@ Usage: iscsid [OPTION]
|
@@ -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,
|
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.
|
iscsid will only perform rediscovery when it gets a SCN from the server.
|
||||||
diff --git a/doc/iscsiadm.8 b/doc/iscsiadm.8
|
diff --git a/doc/iscsiadm.8 b/doc/iscsiadm.8
|
||||||
index a82805e28fb9..758a47c2d1fe 100644
|
index bf23dd2..9cfce16 100644
|
||||||
--- a/doc/iscsiadm.8
|
--- a/doc/iscsiadm.8
|
||||||
+++ b/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
|
.TP
|
||||||
\fB\-I\fR, \fB\-\-interface=\fI[iface]\fR
|
\fB\-I\fR, \fB\-\-interface=\fI[iface]\fR
|
||||||
The interface argument specifies the iSCSI interface to use for the operation.
|
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
|
iSCSI (qla4xxx) the iface config must have the hardware address
|
||||||
(iface.hwaddress = port's MAC address)
|
(iface.hwaddress = port's MAC address)
|
||||||
and the driver/transport_name (iface.transport_name). The iface's name is
|
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,
|
\fInode\fR, all of their respective records are displayed; for \fIsession\fR,
|
||||||
all active sessions and connections are displayed; for \fIfw\fR, all boot
|
all active sessions and connections are displayed; for \fIfw\fR, all boot
|
||||||
firmware values are displayed; for \fIhost\fR, all iSCSI hosts are displayed;
|
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 /etc/iscsi/ifaces are displayed.
|
||||||
+and for \fIiface\fR, all ifaces setup in /var/lib/iscsi/ifaces are displayed.
|
+and for \fIiface\fR, all ifaces setup in /var/lib/iscsi/ifaces are displayed.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
\fB\-n\fR, \fB\-\-name=\fIname\fR
|
\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
|
The file containing the iSCSI InitiatorName and InitiatorAlias read by
|
||||||
\fBiscsid\fR and \fBiscsiadm\fR on startup.
|
\fBiscsid\fR and \fBiscsiadm\fR on startup.
|
||||||
.TP
|
.TP
|
||||||
@ -178,13 +179,26 @@ index a82805e28fb9..758a47c2d1fe 100644
|
|||||||
-/etc/iscsi/send_targets
|
-/etc/iscsi/send_targets
|
||||||
+/var/lib/iscsi/send_targets
|
+/var/lib/iscsi/send_targets
|
||||||
This directory contains the portals.
|
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"
|
.SH "SEE ALSO"
|
||||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
diff --git a/usr/idbm.c b/usr/idbm.c
|
||||||
index 0aa3870a76fd..ec33ce905dc1 100644
|
index f3c812e..8b96146 100644
|
||||||
--- a/usr/idbm.c
|
--- a/usr/idbm.c
|
||||||
+++ b/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)
|
int idbm_init(idbm_get_config_file_fn *fn)
|
||||||
{
|
{
|
||||||
/* make sure root db dir is there */
|
/* make sure root db dir is there */
|
||||||
@ -198,7 +212,7 @@ index 0aa3870a76fd..ec33ce905dc1 100644
|
|||||||
return errno;
|
return errno;
|
||||||
}
|
}
|
||||||
diff --git a/usr/idbm.h b/usr/idbm.h
|
diff --git a/usr/idbm.h b/usr/idbm.h
|
||||||
index b83c0bb1cca8..2b05d7871be9 100644
|
index b83c0bb..2b05d78 100644
|
||||||
--- a/usr/idbm.h
|
--- a/usr/idbm.h
|
||||||
+++ b/usr/idbm.h
|
+++ b/usr/idbm.h
|
||||||
@@ -29,12 +29,13 @@
|
@@ -29,12 +29,13 @@
|
||||||
@ -222,7 +236,7 @@ index b83c0bb1cca8..2b05d7871be9 100644
|
|||||||
#define ISNS_CONFIG_NAME "isns_config"
|
#define ISNS_CONFIG_NAME "isns_config"
|
||||||
|
|
||||||
diff --git a/usr/iface.h b/usr/iface.h
|
diff --git a/usr/iface.h b/usr/iface.h
|
||||||
index 6c06f7f7d450..c8b9de9a7c3a 100644
|
index 6c06f7f..c8b9de9 100644
|
||||||
--- a/usr/iface.h
|
--- a/usr/iface.h
|
||||||
+++ b/usr/iface.h
|
+++ b/usr/iface.h
|
||||||
@@ -21,8 +21,9 @@
|
@@ -21,8 +21,9 @@
|
||||||
@ -237,5 +251,5 @@ index 6c06f7f7d450..c8b9de9a7c3a 100644
|
|||||||
struct iface_rec;
|
struct iface_rec;
|
||||||
struct list_head;
|
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>
|
From: rpm-build <rpm-build>
|
||||||
Date: Mon, 26 Jan 2015 12:57:11 -0800
|
Date: Mon, 26 Jan 2015 12:57:11 -0800
|
||||||
Subject: [PATCH 09/32] libiscsi
|
Subject: [PATCH] libiscsi
|
||||||
|
|
||||||
---
|
---
|
||||||
Makefile | 2 +
|
Makefile | 2 +
|
||||||
libiscsi/Makefile | 61 ++
|
libiscsi/Makefile | 65 +
|
||||||
libiscsi/libiscsi.c | 617 +++++++++++
|
libiscsi/libiscsi.c | 617 ++++++++
|
||||||
libiscsi/libiscsi.doxy | 1473 +++++++++++++++++++++++++++
|
libiscsi/libiscsi.doxy | 1473 +++++++++++++++++++
|
||||||
libiscsi/libiscsi.h | 344 +++++++
|
libiscsi/libiscsi.h | 344 +++++
|
||||||
libiscsi/no_date_footer.html | 6 +
|
libiscsi/no_date_footer.html | 6 +
|
||||||
libiscsi/pylibiscsi.c | 709 +++++++++++++
|
libiscsi/pylibiscsi.c | 709 +++++++++
|
||||||
libiscsi/setup.py | 9 +
|
libiscsi/setup.py | 9 +
|
||||||
libiscsi/tests/test_discovery_firmware.c | 53 +
|
libiscsi/tests/test_discovery_firmware.c | 53 +
|
||||||
libiscsi/tests/test_discovery_sendtargets.c | 60 ++
|
libiscsi/tests/test_discovery_sendtargets.c | 60 +
|
||||||
libiscsi/tests/test_get_auth.c | 70 ++
|
libiscsi/tests/test_get_auth.c | 70 +
|
||||||
libiscsi/tests/test_get_initiator_name.c | 38 +
|
libiscsi/tests/test_get_initiator_name.c | 38 +
|
||||||
libiscsi/tests/test_get_network_config.c | 45 +
|
libiscsi/tests/test_get_network_config.c | 45 +
|
||||||
libiscsi/tests/test_login.c | 52 +
|
libiscsi/tests/test_login.c | 52 +
|
||||||
libiscsi/tests/test_logout.c | 51 +
|
libiscsi/tests/test_logout.c | 51 +
|
||||||
libiscsi/tests/test_params.c | 103 ++
|
libiscsi/tests/test_params.c | 103 ++
|
||||||
libiscsi/tests/test_set_auth.c | 58 ++
|
libiscsi/tests/test_set_auth.c | 58 +
|
||||||
usr/Makefile | 2 +-
|
usr/Makefile | 2 +-
|
||||||
usr/discovery.c | 5 +
|
usr/discovery.c | 5 +
|
||||||
usr/idbm.c | 6 +-
|
usr/idbm.c | 6 +-
|
||||||
usr/idbm.h | 3 +
|
usr/idbm.h | 3 +
|
||||||
usr/iscsi_ipc.h | 2 +
|
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/Makefile
|
||||||
create mode 100644 libiscsi/libiscsi.c
|
create mode 100644 libiscsi/libiscsi.c
|
||||||
create mode 100644 libiscsi/libiscsi.doxy
|
create mode 100644 libiscsi/libiscsi.doxy
|
||||||
@ -45,10 +45,10 @@ Subject: [PATCH 09/32] libiscsi
|
|||||||
create mode 100644 libiscsi/tests/test_set_auth.c
|
create mode 100644 libiscsi/tests/test_set_auth.c
|
||||||
|
|
||||||
diff --git a/Makefile b/Makefile
|
diff --git a/Makefile b/Makefile
|
||||||
index c533e9d0d016..80afe86d6558 100644
|
index 9a33774..bef6f1f 100644
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -52,6 +52,7 @@ user: iscsiuio/Makefile
|
@@ -58,6 +58,7 @@ user: iscsiuio/Makefile
|
||||||
$(MAKE) -C usr
|
$(MAKE) -C usr
|
||||||
$(MAKE) -C utils
|
$(MAKE) -C utils
|
||||||
$(MAKE) -C iscsiuio
|
$(MAKE) -C iscsiuio
|
||||||
@ -56,7 +56,7 @@ index c533e9d0d016..80afe86d6558 100644
|
|||||||
@echo
|
@echo
|
||||||
@echo "Compilation complete Output file"
|
@echo "Compilation complete Output file"
|
||||||
@echo "----------------------------------- ----------------"
|
@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: ;
|
force: ;
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@ -66,7 +66,7 @@ index c533e9d0d016..80afe86d6558 100644
|
|||||||
$(MAKE) -C utils clean
|
$(MAKE) -C utils clean
|
||||||
diff --git a/libiscsi/Makefile b/libiscsi/Makefile
|
diff --git a/libiscsi/Makefile b/libiscsi/Makefile
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..317a7ec4db30
|
index 0000000..53f9746
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/Makefile
|
+++ b/libiscsi/Makefile
|
||||||
@@ -0,0 +1,65 @@
|
@@ -0,0 +1,65 @@
|
||||||
@ -137,7 +137,7 @@ index 000000000000..317a7ec4db30
|
|||||||
+-include .depend ../usr/.depend
|
+-include .depend ../usr/.depend
|
||||||
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
|
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..064e4b570d0b
|
index 0000000..064e4b5
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/libiscsi.c
|
+++ b/libiscsi/libiscsi.c
|
||||||
@@ -0,0 +1,617 @@
|
@@ -0,0 +1,617 @@
|
||||||
@ -760,7 +760,7 @@ index 000000000000..064e4b570d0b
|
|||||||
+}
|
+}
|
||||||
diff --git a/libiscsi/libiscsi.doxy b/libiscsi/libiscsi.doxy
|
diff --git a/libiscsi/libiscsi.doxy b/libiscsi/libiscsi.doxy
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..7a5ff7f7cd5a
|
index 0000000..7a5ff7f
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/libiscsi.doxy
|
+++ b/libiscsi/libiscsi.doxy
|
||||||
@@ -0,0 +1,1473 @@
|
@@ -0,0 +1,1473 @@
|
||||||
@ -2239,7 +2239,7 @@ index 000000000000..7a5ff7f7cd5a
|
|||||||
+SEARCHENGINE = NO
|
+SEARCHENGINE = NO
|
||||||
diff --git a/libiscsi/libiscsi.h b/libiscsi/libiscsi.h
|
diff --git a/libiscsi/libiscsi.h b/libiscsi/libiscsi.h
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..756590e14d8b
|
index 0000000..756590e
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/libiscsi.h
|
+++ b/libiscsi/libiscsi.h
|
||||||
@@ -0,0 +1,344 @@
|
@@ -0,0 +1,344 @@
|
||||||
@ -2589,7 +2589,7 @@ index 000000000000..756590e14d8b
|
|||||||
+#endif
|
+#endif
|
||||||
diff --git a/libiscsi/no_date_footer.html b/libiscsi/no_date_footer.html
|
diff --git a/libiscsi/no_date_footer.html b/libiscsi/no_date_footer.html
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..1e0c6c4ab49e
|
index 0000000..1e0c6c4
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/no_date_footer.html
|
+++ b/libiscsi/no_date_footer.html
|
||||||
@@ -0,0 +1,6 @@
|
@@ -0,0 +1,6 @@
|
||||||
@ -2601,7 +2601,7 @@ index 000000000000..1e0c6c4ab49e
|
|||||||
+</html>
|
+</html>
|
||||||
diff --git a/libiscsi/pylibiscsi.c b/libiscsi/pylibiscsi.c
|
diff --git a/libiscsi/pylibiscsi.c b/libiscsi/pylibiscsi.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..88008538f04f
|
index 0000000..8800853
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/pylibiscsi.c
|
+++ b/libiscsi/pylibiscsi.c
|
||||||
@@ -0,0 +1,709 @@
|
@@ -0,0 +1,709 @@
|
||||||
@ -3316,7 +3316,7 @@ index 000000000000..88008538f04f
|
|||||||
+}
|
+}
|
||||||
diff --git a/libiscsi/setup.py b/libiscsi/setup.py
|
diff --git a/libiscsi/setup.py b/libiscsi/setup.py
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..caa4e66ca906
|
index 0000000..caa4e66
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/setup.py
|
+++ b/libiscsi/setup.py
|
||||||
@@ -0,0 +1,9 @@
|
@@ -0,0 +1,9 @@
|
||||||
@ -3331,7 +3331,7 @@ index 000000000000..caa4e66ca906
|
|||||||
+ description = 'libiscsi python bindings', ext_modules = [module1])
|
+ description = 'libiscsi python bindings', ext_modules = [module1])
|
||||||
diff --git a/libiscsi/tests/test_discovery_firmware.c b/libiscsi/tests/test_discovery_firmware.c
|
diff --git a/libiscsi/tests/test_discovery_firmware.c b/libiscsi/tests/test_discovery_firmware.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..76e852a37019
|
index 0000000..76e852a
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/tests/test_discovery_firmware.c
|
+++ b/libiscsi/tests/test_discovery_firmware.c
|
||||||
@@ -0,0 +1,53 @@
|
@@ -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
|
diff --git a/libiscsi/tests/test_discovery_sendtargets.c b/libiscsi/tests/test_discovery_sendtargets.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..1a3c12ef684b
|
index 0000000..1a3c12e
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/tests/test_discovery_sendtargets.c
|
+++ b/libiscsi/tests/test_discovery_sendtargets.c
|
||||||
@@ -0,0 +1,60 @@
|
@@ -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
|
diff --git a/libiscsi/tests/test_get_auth.c b/libiscsi/tests/test_get_auth.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..5e234dadd0de
|
index 0000000..5e234da
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/tests/test_get_auth.c
|
+++ b/libiscsi/tests/test_get_auth.c
|
||||||
@@ -0,0 +1,70 @@
|
@@ -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
|
diff --git a/libiscsi/tests/test_get_initiator_name.c b/libiscsi/tests/test_get_initiator_name.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..997c053e5bf6
|
index 0000000..997c053
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/tests/test_get_initiator_name.c
|
+++ b/libiscsi/tests/test_get_initiator_name.c
|
||||||
@@ -0,0 +1,38 @@
|
@@ -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
|
diff --git a/libiscsi/tests/test_get_network_config.c b/libiscsi/tests/test_get_network_config.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..2dedd6102858
|
index 0000000..2dedd61
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/tests/test_get_network_config.c
|
+++ b/libiscsi/tests/test_get_network_config.c
|
||||||
@@ -0,0 +1,45 @@
|
@@ -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
|
diff --git a/libiscsi/tests/test_login.c b/libiscsi/tests/test_login.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..3eb70d63e111
|
index 0000000..3eb70d6
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/tests/test_login.c
|
+++ b/libiscsi/tests/test_login.c
|
||||||
@@ -0,0 +1,52 @@
|
@@ -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
|
diff --git a/libiscsi/tests/test_logout.c b/libiscsi/tests/test_logout.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..b734dca58773
|
index 0000000..b734dca
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/tests/test_logout.c
|
+++ b/libiscsi/tests/test_logout.c
|
||||||
@@ -0,0 +1,51 @@
|
@@ -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
|
diff --git a/libiscsi/tests/test_params.c b/libiscsi/tests/test_params.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..d3223be1e894
|
index 0000000..d3223be
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/tests/test_params.c
|
+++ b/libiscsi/tests/test_params.c
|
||||||
@@ -0,0 +1,103 @@
|
@@ -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
|
diff --git a/libiscsi/tests/test_set_auth.c b/libiscsi/tests/test_set_auth.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..a21f88806ab9
|
index 0000000..a21f888
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/tests/test_set_auth.c
|
+++ b/libiscsi/tests/test_set_auth.c
|
||||||
@@ -0,0 +1,58 @@
|
@@ -0,0 +1,58 @@
|
||||||
@ -3914,20 +3914,20 @@ index 000000000000..a21f88806ab9
|
|||||||
+ return rc;
|
+ return rc;
|
||||||
+}
|
+}
|
||||||
diff --git a/usr/Makefile b/usr/Makefile
|
diff --git a/usr/Makefile b/usr/Makefile
|
||||||
index f9445adabbb0..8751d0d05468 100644
|
index 0203127..e4752e6 100644
|
||||||
--- a/usr/Makefile
|
--- a/usr/Makefile
|
||||||
+++ b/usr/Makefile
|
+++ b/usr/Makefile
|
||||||
@@ -35,7 +35,7 @@ endif
|
@@ -37,7 +37,7 @@ PKG_CONFIG = /usr/bin/pkg-config
|
||||||
CFLAGS ?= -O2 -g
|
CFLAGS ?= -O2 -g
|
||||||
WARNFLAGS ?= -Wall -Wstrict-prototypes
|
WARNFLAGS ?= -Wall -Wstrict-prototypes
|
||||||
CFLAGS += $(WARNFLAGS) -I../include -I. -D_GNU_SOURCE \
|
CFLAGS += $(WARNFLAGS) -I../include -I. -D_GNU_SOURCE \
|
||||||
- -I$(TOPDIR)/libopeniscsiusr
|
- -I$(TOPDIR)/libopeniscsiusr
|
||||||
+ -I$(TOPDIR)/libopeniscsiusr -DISNS_ENABLE
|
+ -I$(TOPDIR)/libopeniscsiusr -DISNS_ENABLE
|
||||||
|
CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod)
|
||||||
ISCSI_LIB = -L$(TOPDIR)/libopeniscsiusr -lopeniscsiusr
|
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
|
diff --git a/usr/discovery.c b/usr/discovery.c
|
||||||
index 8001af6fe452..02b77f02b644 100644
|
index 199c160..d17a250 100644
|
||||||
--- a/usr/discovery.c
|
--- a/usr/discovery.c
|
||||||
+++ b/usr/discovery.c
|
+++ b/usr/discovery.c
|
||||||
@@ -36,6 +36,7 @@
|
@@ -36,6 +36,7 @@
|
||||||
@ -3968,10 +3968,10 @@ index 8001af6fe452..02b77f02b644 100644
|
|||||||
int discovery_fw(void *data, struct iface_rec *iface,
|
int discovery_fw(void *data, struct iface_rec *iface,
|
||||||
struct list_head *rec_list)
|
struct list_head *rec_list)
|
||||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
diff --git a/usr/idbm.c b/usr/idbm.c
|
||||||
index ec33ce905dc1..6b651765f19e 100644
|
index 8b96146..19f7e84 100644
|
||||||
--- a/usr/idbm.c
|
--- a/usr/idbm.c
|
||||||
+++ b/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
|
* 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.
|
* the operation failed or 0 if fn was run successfully.
|
||||||
*/
|
*/
|
||||||
@ -3985,7 +3985,7 @@ index ec33ce905dc1..6b651765f19e 100644
|
|||||||
DIR *iface_dirfd;
|
DIR *iface_dirfd;
|
||||||
struct dirent *iface_dent;
|
struct dirent *iface_dent;
|
||||||
diff --git a/usr/idbm.h b/usr/idbm.h
|
diff --git a/usr/idbm.h b/usr/idbm.h
|
||||||
index 2b05d7871be9..b9b1810f78f2 100644
|
index 2b05d78..b9b1810 100644
|
||||||
--- a/usr/idbm.h
|
--- a/usr/idbm.h
|
||||||
+++ b/usr/idbm.h
|
+++ b/usr/idbm.h
|
||||||
@@ -102,6 +102,9 @@ struct rec_op_data {
|
@@ -102,6 +102,9 @@ struct rec_op_data {
|
||||||
@ -3999,7 +3999,7 @@ index 2b05d7871be9..b9b1810f78f2 100644
|
|||||||
idbm_portal_op_fn *fn, char *targetname);
|
idbm_portal_op_fn *fn, char *targetname);
|
||||||
extern int idbm_for_each_node(int *found, void *data,
|
extern int idbm_for_each_node(int *found, void *data,
|
||||||
diff --git a/usr/iscsi_ipc.h b/usr/iscsi_ipc.h
|
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
|
--- a/usr/iscsi_ipc.h
|
||||||
+++ b/usr/iscsi_ipc.h
|
+++ b/usr/iscsi_ipc.h
|
||||||
@@ -162,4 +162,6 @@ struct iscsi_ipc {
|
@@ -162,4 +162,6 @@ struct iscsi_ipc {
|
||||||
@ -4010,5 +4010,5 @@ index 47857dd9b0ca..fb8e96552551 100644
|
|||||||
+
|
+
|
||||||
#endif /* ISCSI_IPC_H */
|
#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
|
* This may not be the same value as the kernel versions because
|
||||||
* some other maintainer could merge a patch without going through us
|
* some other maintainer could merge a patch without going through us
|
||||||
*/
|
*/
|
||||||
-#define ISCSI_VERSION_STR "2.0-876"
|
-#define ISCSI_VERSION_STR "2.0-877"
|
||||||
+#define ISCSI_VERSION_STR "6.2.0.876-5"
|
+#define ISCSI_VERSION_STR "6.2.0.877-0"
|
||||||
#define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version"
|
#define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version"
|
||||||
|
|
||||||
#endif
|
#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_version 2.0
|
||||||
%global open_iscsi_build 876
|
%global open_iscsi_build 877
|
||||||
%global commit0 f3c8e90fc0894c088950a15ee6618b427f9e2457
|
%global commit0 f71581bd641dc26d330cb8b97e5ec272dd08f811
|
||||||
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
|
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
|
||||||
|
|
||||||
%if 0%{?rhel} > 7
|
%if 0%{?rhel} > 7
|
||||||
@ -13,7 +13,7 @@
|
|||||||
Summary: iSCSI daemon and utility programs
|
Summary: iSCSI daemon and utility programs
|
||||||
Name: iscsi-initiator-utils
|
Name: iscsi-initiator-utils
|
||||||
Version: 6.%{open_iscsi_version}.%{open_iscsi_build}
|
Version: 6.%{open_iscsi_version}.%{open_iscsi_build}
|
||||||
Release: 7.git%{shortcommit0}%{?dist}
|
Release: 1.git%{shortcommit0}%{?dist}
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: http://www.open-iscsi.org
|
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
|
Source4: 04-iscsi
|
||||||
Source5: iscsi-tmpfiles.conf
|
Source5: iscsi-tmpfiles.conf
|
||||||
|
|
||||||
Patch0001: 0001-idmb_rec_write-check-for-tpgt-first.patch
|
Patch0001: 0001-service-file-tweaks.patch
|
||||||
Patch0002: 0002-idbm_rec_write-seperate-old-and-new-style-writes.patch
|
Patch0002: 0001-fix-iscsiuio-build-with-libsystemd.patch
|
||||||
Patch0003: 0003-idbw_rec_write-pick-tpgt-from-existing-record.patch
|
Patch0003: 0001-idmb_rec_write-check-for-tpgt-first.patch
|
||||||
Patch0004: 0004-update-systemd-service-files-add-iscsi.service-for-s.patch
|
Patch0004: 0002-idbm_rec_write-seperate-old-and-new-style-writes.patch
|
||||||
Patch0005: 0005-iscsi-boot-related-service-file-updates.patch
|
Patch0005: 0003-idbw_rec_write-pick-tpgt-from-existing-record.patch
|
||||||
Patch0006: 0006-update-initscripts-and-docs.patch
|
Patch0006: 0006-update-initscripts-and-docs.patch
|
||||||
Patch0007: 0007-use-var-for-config.patch
|
Patch0007: 0007-use-var-for-config.patch
|
||||||
Patch0008: 0008-use-red-hat-for-name.patch
|
Patch0008: 0008-use-red-hat-for-name.patch
|
||||||
Patch0009: 0009-libiscsi.patch
|
Patch0009: 0009-libiscsi.patch
|
||||||
Patch0010: 0010-remove-the-offload-boot-supported-ifdef.patch
|
Patch0010: 0010-remove-the-offload-boot-supported-ifdef.patch
|
||||||
Patch0011: 0011-iscsiuio-systemd-unit-files.patch
|
Patch0011: 0013-Revert-iscsiadm-return-error-when-login-fails.patch
|
||||||
Patch0012: 0012-Don-t-check-for-autostart-sessions-if-iscsi-is-not-u.patch
|
Patch0012: 0018-Add-macros-to-release-GIL-lock.patch
|
||||||
Patch0013: 0013-Revert-iscsiadm-return-error-when-login-fails.patch
|
Patch0013: 0019-libiscsi-introduce-sessions-API.patch
|
||||||
Patch0014: 0014-update-handling-of-boot-sessions.patch
|
Patch0014: 0020-use-Red-Hat-version-string-to-match-RPM-package-vers.patch
|
||||||
Patch0015: 0015-update-iscsi.service-for-boot-session-recovery.patch
|
Patch0015: 0021-libiscsi-fix-discovery-request-timeout-regression.patch
|
||||||
Patch0016: 0016-updates-to-iscsi.service.patch
|
Patch0016: 0022-libiscsi-format-security-build-errors.patch
|
||||||
Patch0017: 0017-make-session-shutdown-a-seperate-service.patch.patch
|
Patch0017: 0023-libiscsi-fix-build-to-use-libopeniscsiusr.patch
|
||||||
Patch0018: 0018-Add-macros-to-release-GIL-lock.patch
|
Patch0018: 0024-dont-install-scripts.patch
|
||||||
Patch0019: 0019-libiscsi-introduce-sessions-API.patch
|
Patch0019: 0028-use-var-lib-iscsi-in-libopeniscsiusr.patch
|
||||||
Patch0020: 0020-use-Red-Hat-version-string-to-match-RPM-package-vers.patch
|
Patch0099: 0001-Coverity-scan-fixes.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
|
|
||||||
|
|
||||||
BuildRequires: flex bison doxygen kmod-devel systemd-units
|
BuildRequires: flex bison doxygen kmod-devel systemd-units
|
||||||
BuildRequires: autoconf automake libtool libmount-devel openssl-devel
|
BuildRequires: autoconf automake libtool libmount-devel openssl-devel
|
||||||
BuildRequires: isns-utils-devel
|
BuildRequires: isns-utils-devel
|
||||||
|
BuildRequires: systemd-devel
|
||||||
# For dir ownership
|
# For dir ownership
|
||||||
Requires: %{name}-iscsiuio >= %{version}-%{release}
|
Requires: %{name}-iscsiuio >= %{version}-%{release}
|
||||||
Requires(post): systemd
|
Requires(post): systemd
|
||||||
@ -353,6 +342,12 @@ fi
|
|||||||
%{python3_sitearch}/*
|
%{python3_sitearch}/*
|
||||||
|
|
||||||
%changelog
|
%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
|
* 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
|
- 1647826: fix sysfs and output format regressions in libopeniscsi code
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user