Compare commits
No commits in common. "c8" and "c9" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
SOURCES/open-iscsi-095f59c.tar.gz
|
SOURCES/open-iscsi-a65a472.tar.gz
|
||||||
|
@ -1 +1 @@
|
|||||||
d6947b76f161a0adcc6d984ed43a82c99e319578 SOURCES/open-iscsi-095f59c.tar.gz
|
eef1ee9663a36e32b87b1858b5da883b38f4d223 SOURCES/open-iscsi-a65a472.tar.gz
|
||||||
|
32
SOURCES/0001-meson-don-t-hide-things-with-Wno-all.patch
Normal file
32
SOURCES/0001-meson-don-t-hide-things-with-Wno-all.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
From 51833a7ba053a0219e9e41f4b4c8c4b2f6860ff2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Leech <cleech@redhat.com>
|
||||||
|
Date: Sat, 15 Apr 2023 16:01:15 -0700
|
||||||
|
Subject: [PATCH 1/6] meson: don't hide things with -Wno-all
|
||||||
|
|
||||||
|
It's breaking the build when platform defaults set
|
||||||
|
-Werror=format-security
|
||||||
|
---
|
||||||
|
meson.build | 5 ++---
|
||||||
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/meson.build b/meson.build
|
||||||
|
index 7537ea5..f352907 100644
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -102,11 +102,10 @@ endif
|
||||||
|
# do not depend on anything local
|
||||||
|
#
|
||||||
|
libsysdeps = static_library('sysdeps', sysdeps_files,
|
||||||
|
- include_directories: [usr_inc, main_inc, lib_inc],
|
||||||
|
- c_args: '-Wno-all')
|
||||||
|
+ include_directories: [usr_inc, main_inc, lib_inc])
|
||||||
|
libfwparam = static_library('fwparam', fwparam_files,
|
||||||
|
include_directories: [usr_inc, main_inc, lib_inc],
|
||||||
|
- c_args: [genl_cargs, '-Wno-all'])
|
||||||
|
+ c_args: genl_cargs)
|
||||||
|
|
||||||
|
#
|
||||||
|
# build libopeniscsiusr, since it does not
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
@ -1,177 +0,0 @@
|
|||||||
From 28e3ef5c630b8433eaad176a53c98af05a994f36 Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <rpm-build>
|
|
||||||
Date: Tue, 4 Jun 2019 13:23:32 -0700
|
|
||||||
Subject: [PATCH 01/23] unit file tweaks
|
|
||||||
|
|
||||||
---
|
|
||||||
etc/systemd/iscsi-mark-root-nodes | 34 ++++++++++++++++++++++++++++++
|
|
||||||
etc/systemd/iscsi-onboot.service | 15 +++++++++++++
|
|
||||||
etc/systemd/iscsi-shutdown.service | 15 +++++++++++++
|
|
||||||
etc/systemd/iscsi.service | 16 +++++++-------
|
|
||||||
etc/systemd/iscsid.service | 6 ++----
|
|
||||||
etc/systemd/iscsiuio.service | 4 +---
|
|
||||||
6 files changed, 75 insertions(+), 15 deletions(-)
|
|
||||||
create mode 100755 etc/systemd/iscsi-mark-root-nodes
|
|
||||||
create mode 100644 etc/systemd/iscsi-onboot.service
|
|
||||||
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..9d48805
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/etc/systemd/iscsi-mark-root-nodes
|
|
||||||
@@ -0,0 +1,34 @@
|
|
||||||
+#!/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%:}
|
|
||||||
+
|
|
||||||
+ # use session number to find the iface name in use
|
|
||||||
+ num=${num#[}; num=${num%]}
|
|
||||||
+ iface=$(iscsiadm -m session -r $num | grep iface.iscsi_ifacename | cut -d= -f2)
|
|
||||||
+
|
|
||||||
+ $ISCSIADM -m node -p $portal -T $target -I $iface -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-onboot.service b/etc/systemd/iscsi-onboot.service
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..42ced68
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/etc/systemd/iscsi-onboot.service
|
|
||||||
@@ -0,0 +1,15 @@
|
|
||||||
+[Unit]
|
|
||||||
+Description=Special handling of early boot iSCSI sessions
|
|
||||||
+Documentation=man:iscsiadm(8) man:iscsid(8)
|
|
||||||
+DefaultDependencies=no
|
|
||||||
+RefuseManualStart=true
|
|
||||||
+Before=iscsi.service
|
|
||||||
+After=systemd-remount-fs.service
|
|
||||||
+ConditionDirectoryNotEmpty=/sys/class/iscsi_session
|
|
||||||
+
|
|
||||||
+[Service]
|
|
||||||
+Type=oneshot
|
|
||||||
+ExecStart=-/usr/libexec/iscsi-mark-root-nodes
|
|
||||||
+
|
|
||||||
+[Install]
|
|
||||||
+WantedBy=sysinit.target
|
|
||||||
diff --git a/etc/systemd/iscsi-shutdown.service b/etc/systemd/iscsi-shutdown.service
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..caee933
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/etc/systemd/iscsi-shutdown.service
|
|
||||||
@@ -0,0 +1,15 @@
|
|
||||||
+[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
|
|
||||||
+ExecStart=-/usr/bin/true
|
|
||||||
+ExecStop=-/usr/sbin/iscsiadm -m node --logoutall=all
|
|
||||||
diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service
|
|
||||||
index 5e394b9..26e557d 100644
|
|
||||||
--- a/etc/systemd/iscsi.service
|
|
||||||
+++ b/etc/systemd/iscsi.service
|
|
||||||
@@ -1,17 +1,17 @@
|
|
||||||
[Unit]
|
|
||||||
Description=Login and scanning of iSCSI devices
|
|
||||||
Documentation=man:iscsiadm(8) man:iscsid(8)
|
|
||||||
-Before=remote-fs.target
|
|
||||||
-After=network-online.target iscsid.service
|
|
||||||
-Requires=iscsid.socket iscsi-init.service
|
|
||||||
-Wants=network-online.target
|
|
||||||
+DefaultDependencies=no
|
|
||||||
+Before=remote-fs-pre.target
|
|
||||||
+After=network.target network-online.target iscsid.service iscsiuio.service systemd-remount-fs.service
|
|
||||||
+Wants=network-online.target remote-fs-pre.target iscsi-shutdown.service
|
|
||||||
+ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
-ExecStart=/sbin/iscsiadm -m node --loginall=automatic -W
|
|
||||||
-ExecStop=/sbin/iscsiadm -m node --logoutall=automatic
|
|
||||||
-ExecStop=/sbin/iscsiadm -m node --logoutall=manual
|
|
||||||
-SuccessExitStatus=21 15
|
|
||||||
+ExecStart=-/usr/sbin/iscsiadm -m node --loginall=automatic
|
|
||||||
+ExecReload=-/usr/sbin/iscsiadm -m node --loginall=automatic
|
|
||||||
+SuccessExitStatus=21
|
|
||||||
RemainAfterExit=true
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service
|
|
||||||
index 3fd7dd3..3958dae 100644
|
|
||||||
--- a/etc/systemd/iscsid.service
|
|
||||||
+++ b/etc/systemd/iscsid.service
|
|
||||||
@@ -2,15 +2,13 @@
|
|
||||||
Description=Open-iSCSI
|
|
||||||
Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8)
|
|
||||||
DefaultDependencies=no
|
|
||||||
-After=network-online.target iscsiuio.service iscsi-init.service
|
|
||||||
+After=network.target network-online.target iscsiuio.service
|
|
||||||
Before=remote-fs-pre.target
|
|
||||||
-Wants=remote-fs-pre.target
|
|
||||||
-Requires=iscsi-init.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=notify
|
|
||||||
NotifyAccess=main
|
|
||||||
-ExecStart=/sbin/iscsid -f
|
|
||||||
+ExecStart=/usr/sbin/iscsid -f
|
|
||||||
KillMode=mixed
|
|
||||||
Restart=on-failure
|
|
||||||
|
|
||||||
diff --git a/etc/systemd/iscsiuio.service b/etc/systemd/iscsiuio.service
|
|
||||||
index 923e019..fc0be93 100644
|
|
||||||
--- a/etc/systemd/iscsiuio.service
|
|
||||||
+++ b/etc/systemd/iscsiuio.service
|
|
||||||
@@ -2,17 +2,15 @@
|
|
||||||
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
|
|
||||||
-Wants=remote-fs-pre.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=notify
|
|
||||||
NotifyAccess=main
|
|
||||||
-ExecStart=/sbin/iscsiuio -f
|
|
||||||
+ExecStart=/usr/sbin/iscsiuio -f
|
|
||||||
KillMode=mixed
|
|
||||||
Restart=on-failure
|
|
||||||
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -0,0 +1,62 @@
|
|||||||
|
From 295bab75dfbb50904def98b46abd463a050a6e29 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gordon Messmer <gordon.messmer@gmail.com>
|
||||||
|
Date: Sat, 4 Feb 2023 11:17:20 -0800
|
||||||
|
Subject: [PATCH 2/6] Currently, when iscsi.service is installed, it creates an
|
||||||
|
ordering dependency that forces network-online to start before
|
||||||
|
remote-fs-pre.target, which delays boot even when /var/lib/iscsi/nodes is
|
||||||
|
empty and the iscsi.service won't be started. This change moves the logic
|
||||||
|
that determines whether iscsi will be started to an external service file so
|
||||||
|
that the boot order dependency exists only when iscsi.service will be
|
||||||
|
started.
|
||||||
|
|
||||||
|
---
|
||||||
|
etc/Makefile | 1 +
|
||||||
|
etc/systemd/iscsi-starter.service.template | 13 +++++++++++++
|
||||||
|
etc/systemd/iscsi.service.template | 2 +-
|
||||||
|
3 files changed, 15 insertions(+), 1 deletion(-)
|
||||||
|
create mode 100644 etc/systemd/iscsi-starter.service.template
|
||||||
|
|
||||||
|
diff --git a/etc/Makefile b/etc/Makefile
|
||||||
|
index 6dd6a41..3f92054 100644
|
||||||
|
--- a/etc/Makefile
|
||||||
|
+++ b/etc/Makefile
|
||||||
|
@@ -27,6 +27,7 @@ SYSTEMD_SOURCES = $(addprefix systemd/,$(SYSTEMD_SOURCE_FILES))
|
||||||
|
SYSTEMD_TEMPLATE_FILES = iscsi-init.service.template \
|
||||||
|
iscsid.service.template \
|
||||||
|
iscsi.service.template \
|
||||||
|
+ iscsi-starter.service.template \
|
||||||
|
iscsiuio.service.template
|
||||||
|
SYSTEMD_TEMPLATES = $(addprefix systemd/,$(SYSTEMD_TEMPLATE_FILES))
|
||||||
|
SYSTEMD_RULES_FILES = ibft-rule-generator
|
||||||
|
diff --git a/etc/systemd/iscsi-starter.service.template b/etc/systemd/iscsi-starter.service.template
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..5e97941
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/etc/systemd/iscsi-starter.service.template
|
||||||
|
@@ -0,0 +1,13 @@
|
||||||
|
+[Unit]
|
||||||
|
+DefaultDependencies=no
|
||||||
|
+Before=sysinit.target iscsi.service
|
||||||
|
+RequiresMountsFor=/var/lib/iscsi/nodes
|
||||||
|
+ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes
|
||||||
|
+
|
||||||
|
+[Service]
|
||||||
|
+Type=oneshot
|
||||||
|
+RemainAfterExit=true
|
||||||
|
+ExecStart=@SBINDIR@/systemctl start --no-block --job-mode=fail iscsi.service
|
||||||
|
+
|
||||||
|
+[Install]
|
||||||
|
+WantedBy=sysinit.target
|
||||||
|
diff --git a/etc/systemd/iscsi.service.template b/etc/systemd/iscsi.service.template
|
||||||
|
index 6becab4..8a4de9b 100644
|
||||||
|
--- a/etc/systemd/iscsi.service.template
|
||||||
|
+++ b/etc/systemd/iscsi.service.template
|
||||||
|
@@ -15,4 +15,4 @@ SuccessExitStatus=21 15
|
||||||
|
RemainAfterExit=true
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
-WantedBy=remote-fs.target
|
||||||
|
+Also=iscsi-starter.service
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
@ -1,54 +0,0 @@
|
|||||||
From 45878c9461298c9da68a626d990dc4ef99e01baa Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chris Leech <cleech@redhat.com>
|
|
||||||
Date: Tue, 13 Aug 2013 10:59:44 -0700
|
|
||||||
Subject: [PATCH] idmb_rec_write, check for tpgt first
|
|
||||||
|
|
||||||
Factor out the check for a tpgt to a single place, before going crazy on
|
|
||||||
the rec files. Makes flow of this function easier to follow, and preps
|
|
||||||
for splitting it up.
|
|
||||||
---
|
|
||||||
usr/idbm.c | 18 +++++-------------
|
|
||||||
1 file changed, 5 insertions(+), 13 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
|
||||||
index 42c2699..e6ede85 100644
|
|
||||||
--- a/usr/idbm.c
|
|
||||||
+++ b/usr/idbm.c
|
|
||||||
@@ -2178,6 +2178,10 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
|
|
||||||
goto free_portal;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
|
|
||||||
+ /* drop down to old style portal as config */
|
|
||||||
+ goto open_conf;
|
|
||||||
+
|
|
||||||
rc = stat(portal, &statb);
|
|
||||||
if (rc) {
|
|
||||||
rc = 0;
|
|
||||||
@@ -2186,22 +2190,10 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
|
|
||||||
* set the tgpt. In new versions you must pass all the info in
|
|
||||||
* from the start
|
|
||||||
*/
|
|
||||||
- if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
|
|
||||||
- /* drop down to old style portal as config */
|
|
||||||
- goto open_conf;
|
|
||||||
- else
|
|
||||||
- goto mkdir_portal;
|
|
||||||
+ goto mkdir_portal;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!S_ISDIR(statb.st_mode)) {
|
|
||||||
- /*
|
|
||||||
- * older iscsiadm versions had you create the config then set
|
|
||||||
- * set the tgpt. In new versions you must pass all the info in
|
|
||||||
- * from the start
|
|
||||||
- */
|
|
||||||
- if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
|
|
||||||
- /* drop down to old style portal as config */
|
|
||||||
- goto open_conf;
|
|
||||||
/*
|
|
||||||
* Old style portal as a file, but with tpgt. Let's update it.
|
|
||||||
*/
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -0,0 +1,56 @@
|
|||||||
|
From 0f90d4440047a3c62bdf09d876787000d0fa5b7e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gordon Messmer <gordon.messmer@gmail.com>
|
||||||
|
Date: Sat, 4 Feb 2023 14:13:12 -0800
|
||||||
|
Subject: [PATCH 3/6] Use DBROOT in iscsi-starter. Include iscsi-starter in
|
||||||
|
meson build.
|
||||||
|
|
||||||
|
---
|
||||||
|
etc/Makefile | 2 +-
|
||||||
|
etc/systemd/iscsi-starter.service.template | 4 ++--
|
||||||
|
etc/systemd/meson.build | 2 +-
|
||||||
|
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/etc/Makefile b/etc/Makefile
|
||||||
|
index 3f92054..6ec846f 100644
|
||||||
|
--- a/etc/Makefile
|
||||||
|
+++ b/etc/Makefile
|
||||||
|
@@ -46,7 +46,7 @@ INAME_DEST_FILE = $(DESTDIR)$(HOMEDIR)/initiatorname.iscsi
|
||||||
|
all: $(SYSTEMD_SOURCES) $(SYSTEMD_GENERATED_SERVICE_FILES)
|
||||||
|
|
||||||
|
$(SYSTEMD_GENERATED_SERVICE_FILES): systemd/%.service: systemd/%.service.template
|
||||||
|
- $(SED) -e 's:@SBINDIR@:$(SBINDIR):' $? > $@
|
||||||
|
+ $(SED) -e 's:@SBINDIR@:$(SBINDIR):; s:@DBROOT@:$(DBROOT):' $? > $@
|
||||||
|
|
||||||
|
install: install_systemd install_iface install_etc
|
||||||
|
|
||||||
|
diff --git a/etc/systemd/iscsi-starter.service.template b/etc/systemd/iscsi-starter.service.template
|
||||||
|
index 5e97941..d3ea7cd 100644
|
||||||
|
--- a/etc/systemd/iscsi-starter.service.template
|
||||||
|
+++ b/etc/systemd/iscsi-starter.service.template
|
||||||
|
@@ -1,8 +1,8 @@
|
||||||
|
[Unit]
|
||||||
|
DefaultDependencies=no
|
||||||
|
Before=sysinit.target iscsi.service
|
||||||
|
-RequiresMountsFor=/var/lib/iscsi/nodes
|
||||||
|
-ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes
|
||||||
|
+RequiresMountsFor=@DBROOT@/nodes
|
||||||
|
+ConditionDirectoryNotEmpty=@DBROOT@/nodes
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
diff --git a/etc/systemd/meson.build b/etc/systemd/meson.build
|
||||||
|
index 90082c7..1470a53 100644
|
||||||
|
--- a/etc/systemd/meson.build
|
||||||
|
+++ b/etc/systemd/meson.build
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
#
|
||||||
|
|
||||||
|
# templated systemd service files
|
||||||
|
-iscsi_etc_systemd_service_units = ['iscsi-init', 'iscsid', 'iscsi', 'iscsiuio']
|
||||||
|
+iscsi_etc_systemd_service_units = ['iscsi-init', 'iscsid', 'iscsi', 'iscsi-starter', 'iscsiuio']
|
||||||
|
iscsi_etc_systemd_service_units_arr = {}
|
||||||
|
foreach u: iscsi_etc_systemd_service_units
|
||||||
|
iscsi_etc_systemd_service_units_arr += {u + '.service': files(u + '.service.template')}
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
@ -1,193 +0,0 @@
|
|||||||
From 9823d8ead9e2d91765e4af39d906e25acd4e2a04 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chris Leech <cleech@redhat.com>
|
|
||||||
Date: Tue, 13 Aug 2013 11:34:31 -0700
|
|
||||||
Subject: [PATCH 3/3] idbm_rec_write, seperate old and new style writes
|
|
||||||
|
|
||||||
Duplicates a small bit of code, but easier to understand and extened.
|
|
||||||
---
|
|
||||||
usr/idbm.c | 129 +++++++++++++++++++++++++++++++++++------------------
|
|
||||||
1 file changed, 86 insertions(+), 43 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
|
||||||
index efdda75..307a01a 100644
|
|
||||||
--- a/usr/idbm.c
|
|
||||||
+++ b/usr/idbm.c
|
|
||||||
@@ -2152,12 +2152,7 @@ mkdir_portal:
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
-/*
|
|
||||||
- * When the disable_lock param is true, the idbm_lock/idbm_unlock needs
|
|
||||||
- * to be holt by the caller, this will avoid overwriting each other in
|
|
||||||
- * case of updating(read-modify-write) the recs in parallel.
|
|
||||||
- */
|
|
||||||
-static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
|
|
||||||
+static int idbm_rec_write_new(node_rec_t *rec)
|
|
||||||
{
|
|
||||||
struct stat statb;
|
|
||||||
FILE *f;
|
|
||||||
@@ -2170,39 +2165,8 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
|
|
||||||
return ISCSI_ERR_NOMEM;
|
|
||||||
}
|
|
||||||
|
|
||||||
- snprintf(portal, PATH_MAX, "%s", NODE_CONFIG_DIR);
|
|
||||||
- if (access(portal, F_OK) != 0) {
|
|
||||||
- if (mkdir(portal, 0770) != 0) {
|
|
||||||
- log_error("Could not make %s: %s", portal,
|
|
||||||
- strerror(errno));
|
|
||||||
- rc = ISCSI_ERR_IDBM;
|
|
||||||
- goto free_portal;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- snprintf(portal, PATH_MAX, "%s/%s", NODE_CONFIG_DIR, rec->name);
|
|
||||||
- if (access(portal, F_OK) != 0) {
|
|
||||||
- if (mkdir(portal, 0770) != 0) {
|
|
||||||
- log_error("Could not make %s: %s", portal,
|
|
||||||
- strerror(errno));
|
|
||||||
- rc = ISCSI_ERR_IDBM;
|
|
||||||
- goto free_portal;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
snprintf(portal, PATH_MAX, "%s/%s/%s,%d", NODE_CONFIG_DIR,
|
|
||||||
rec->name, rec->conn[0].address, rec->conn[0].port);
|
|
||||||
- log_debug(5, "Looking for config file %s", portal);
|
|
||||||
-
|
|
||||||
- if (!disable_lock) {
|
|
||||||
- rc = idbm_lock();
|
|
||||||
- if (rc)
|
|
||||||
- goto free_portal;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
|
|
||||||
- /* drop down to old style portal as config */
|
|
||||||
- goto open_conf;
|
|
||||||
|
|
||||||
rc = stat(portal, &statb);
|
|
||||||
if (rc) {
|
|
||||||
@@ -2223,11 +2187,11 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
|
|
||||||
log_error("Could not convert %s: %s", portal,
|
|
||||||
strerror(errno));
|
|
||||||
rc = ISCSI_ERR_IDBM;
|
|
||||||
- goto unlock;
|
|
||||||
+ goto free_portal;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
rc = ISCSI_ERR_INVAL;
|
|
||||||
- goto unlock;
|
|
||||||
+ goto free_portal;
|
|
||||||
}
|
|
||||||
|
|
||||||
mkdir_portal:
|
|
||||||
@@ -2238,24 +2202,103 @@ mkdir_portal:
|
|
||||||
log_error("Could not make dir %s: %s",
|
|
||||||
portal, strerror(errno));
|
|
||||||
rc = ISCSI_ERR_IDBM;
|
|
||||||
- goto unlock;
|
|
||||||
+ goto free_portal;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
snprintf(portal, PATH_MAX, "%s/%s/%s,%d,%d/%s", NODE_CONFIG_DIR,
|
|
||||||
rec->name, rec->conn[0].address, rec->conn[0].port, rec->tpgt,
|
|
||||||
rec->iface.name);
|
|
||||||
-open_conf:
|
|
||||||
+
|
|
||||||
f = fopen(portal, "w");
|
|
||||||
if (!f) {
|
|
||||||
log_error("Could not open %s: %s", portal, strerror(errno));
|
|
||||||
rc = ISCSI_ERR_IDBM;
|
|
||||||
- goto unlock;
|
|
||||||
+ goto free_portal;
|
|
||||||
}
|
|
||||||
|
|
||||||
idbm_print(IDBM_PRINT_TYPE_NODE, rec, 1, f);
|
|
||||||
fclose(f);
|
|
||||||
-unlock:
|
|
||||||
+free_portal:
|
|
||||||
+ free(portal);
|
|
||||||
+ return rc;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int idbm_rec_write_old(node_rec_t *rec)
|
|
||||||
+{
|
|
||||||
+ FILE *f;
|
|
||||||
+ char *portal;
|
|
||||||
+ int rc = 0;
|
|
||||||
+
|
|
||||||
+ portal = malloc(PATH_MAX);
|
|
||||||
+ if (!portal) {
|
|
||||||
+ log_error("Could not alloc portal");
|
|
||||||
+ return ISCSI_ERR_NOMEM;
|
|
||||||
+ }
|
|
||||||
+ snprintf(portal, PATH_MAX, "%s/%s/%s,%d", NODE_CONFIG_DIR,
|
|
||||||
+ rec->name, rec->conn[0].address, rec->conn[0].port);
|
|
||||||
+
|
|
||||||
+ f = fopen(portal, "w");
|
|
||||||
+ if (!f) {
|
|
||||||
+ log_error("Could not open %s: %sd", portal, strerror(errno));
|
|
||||||
+ rc = ISCSI_ERR_IDBM;
|
|
||||||
+ goto free_portal;
|
|
||||||
+ }
|
|
||||||
+ idbm_print(IDBM_PRINT_TYPE_NODE, rec, 1, f);
|
|
||||||
+ fclose(f);
|
|
||||||
+free_portal:
|
|
||||||
+ free(portal);
|
|
||||||
+ return rc;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * When the disable_lock param is true, the idbm_lock/idbm_unlock needs
|
|
||||||
+ * to be holt by the caller, this will avoid overwriting each other in
|
|
||||||
+ * case of updating(read-modify-write) the recs in parallel.
|
|
||||||
+ */
|
|
||||||
+static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
|
|
||||||
+{
|
|
||||||
+ char *portal;
|
|
||||||
+ int rc = 0;
|
|
||||||
+
|
|
||||||
+ portal = malloc(PATH_MAX);
|
|
||||||
+ if (!portal) {
|
|
||||||
+ log_error("Could not alloc portal");
|
|
||||||
+ return ISCSI_ERR_NOMEM;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ snprintf(portal, PATH_MAX, "%s", NODE_CONFIG_DIR);
|
|
||||||
+ if (access(portal, F_OK) != 0) {
|
|
||||||
+ if (mkdir(portal, 0770) != 0) {
|
|
||||||
+ log_error("Could not make %s: %s", portal,
|
|
||||||
+ strerror(errno));
|
|
||||||
+ rc = ISCSI_ERR_IDBM;
|
|
||||||
+ goto free_portal;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ snprintf(portal, PATH_MAX, "%s/%s", NODE_CONFIG_DIR, rec->name);
|
|
||||||
+ if (access(portal, F_OK) != 0) {
|
|
||||||
+ if (mkdir(portal, 0770) != 0) {
|
|
||||||
+ log_error("Could not make %s: %s", portal,
|
|
||||||
+ strerror(errno));
|
|
||||||
+ rc = ISCSI_ERR_IDBM;
|
|
||||||
+ goto free_portal;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!disable_lock) {
|
|
||||||
+ rc = idbm_lock();
|
|
||||||
+ if (rc)
|
|
||||||
+ goto free_portal;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
|
|
||||||
+ /* old style portal as config */
|
|
||||||
+ rc = idbm_rec_write_old(rec);
|
|
||||||
+ else
|
|
||||||
+ rc = idbm_rec_write_new(rec);
|
|
||||||
+
|
|
||||||
if (!disable_lock)
|
|
||||||
idbm_unlock();
|
|
||||||
free_portal:
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
|||||||
|
From 1df58cafc3b5d2dea5dd53a539a0014b10664f51 Mon Sep 17 00:00:00 2001
|
||||||
|
From: rpm-build <rpm-build>
|
||||||
|
Date: Mon, 3 Jul 2023 18:22:14 -0700
|
||||||
|
Subject: [PATCH 1/1] fix systemctl path in iscsi-starter.service
|
||||||
|
|
||||||
|
---
|
||||||
|
etc/systemd/iscsi-starter.service.template | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/etc/systemd/iscsi-starter.service.template b/etc/systemd/iscsi-starter.service.template
|
||||||
|
index d3ea7cd..466ddf0 100644
|
||||||
|
--- a/etc/systemd/iscsi-starter.service.template
|
||||||
|
+++ b/etc/systemd/iscsi-starter.service.template
|
||||||
|
@@ -7,7 +7,7 @@ ConditionDirectoryNotEmpty=@DBROOT@/nodes
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=true
|
||||||
|
-ExecStart=@SBINDIR@/systemctl start --no-block --job-mode=fail iscsi.service
|
||||||
|
+ExecStart=/usr/bin/systemctl start --no-block --job-mode=fail iscsi.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
@ -1,87 +0,0 @@
|
|||||||
From 2b1c0c5f1f2dbc516a9b51950a82eac091dbce2c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chris Leech <cleech@redhat.com>
|
|
||||||
Date: Tue, 13 Aug 2013 12:39:07 -0700
|
|
||||||
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
|
|
||||||
record without. If one exists, take the tpgt from it an write an
|
|
||||||
updated new style record instead.
|
|
||||||
---
|
|
||||||
usr/idbm.c | 40 ++++++++++++++++++++++++++++++++++++++++
|
|
||||||
1 file changed, 40 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
|
||||||
index bc51388..f1e5c88 100644
|
|
||||||
--- a/usr/idbm.c
|
|
||||||
+++ b/usr/idbm.c
|
|
||||||
@@ -28,6 +28,7 @@
|
|
||||||
#include <dirent.h>
|
|
||||||
#include <limits.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
+#include <glob.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <sys/file.h>
|
|
||||||
#include <inttypes.h>
|
|
||||||
@@ -203,6 +204,8 @@ static struct int_list_tbl {
|
|
||||||
{ "SHA3-256", AUTH_CHAP_ALG_SHA3_256 },
|
|
||||||
};
|
|
||||||
|
|
||||||
+static int idbm_remove_disc_to_node_link(node_rec_t *rec, char *portal);
|
|
||||||
+
|
|
||||||
static void
|
|
||||||
idbm_recinfo_discovery(discovery_rec_t *r, recinfo_t *ri)
|
|
||||||
{
|
|
||||||
@@ -2207,12 +2210,49 @@ static int idbm_rec_write_old(node_rec_t *rec)
|
|
||||||
FILE *f;
|
|
||||||
char *portal;
|
|
||||||
int rc = 0;
|
|
||||||
+ glob_t globbuf;
|
|
||||||
+ size_t i;
|
|
||||||
+ int tpgt = PORTAL_GROUP_TAG_UNKNOWN;
|
|
||||||
|
|
||||||
portal = malloc(PATH_MAX);
|
|
||||||
if (!portal) {
|
|
||||||
log_error("Could not alloc portal");
|
|
||||||
return ISCSI_ERR_NOMEM;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ /* check for newer portal dir with tpgt */
|
|
||||||
+ snprintf(portal, PATH_MAX, "%s/%s/%s,%d,*", NODE_CONFIG_DIR,
|
|
||||||
+ rec->name, rec->conn[0].address, rec->conn[0].port);
|
|
||||||
+ rc = glob(portal, GLOB_ONLYDIR, NULL, &globbuf);
|
|
||||||
+ if (!rc) {
|
|
||||||
+ if (globbuf.gl_pathc > 1)
|
|
||||||
+ log_warning("multiple tpg records for portal "
|
|
||||||
+ "%s/%s:%d found", rec->name,
|
|
||||||
+ rec->conn[0].address, rec->conn[0].port);
|
|
||||||
+ /* set pattern for sscanf matching of tpgt */
|
|
||||||
+ snprintf(portal, PATH_MAX, "%s/%s/%s,%d,%%u", NODE_CONFIG_DIR,
|
|
||||||
+ rec->name, rec->conn[0].address, rec->conn[0].port);
|
|
||||||
+ for (i = 0; i < globbuf.gl_pathc; i++) {
|
|
||||||
+ rc = sscanf(globbuf.gl_pathv[i], portal, &tpgt);
|
|
||||||
+ if (rc == 1)
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ if (tpgt == PORTAL_GROUP_TAG_UNKNOWN)
|
|
||||||
+ log_warning("glob match on existing records, "
|
|
||||||
+ "but no valid tpgt found");
|
|
||||||
+ }
|
|
||||||
+ globfree(&globbuf);
|
|
||||||
+ rc = 0;
|
|
||||||
+
|
|
||||||
+ /* if a tpgt was selected from an old record, write entry in new format */
|
|
||||||
+ if (tpgt != PORTAL_GROUP_TAG_UNKNOWN) {
|
|
||||||
+ log_warning("using tpgt %u from existing record", tpgt);
|
|
||||||
+ rec->tpgt = tpgt;
|
|
||||||
+ rc = idbm_remove_disc_to_node_link(rec, portal);
|
|
||||||
+ free(portal);
|
|
||||||
+ return idbm_rec_write_new(rec);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
snprintf(portal, PATH_MAX, "%s/%s/%s,%d", NODE_CONFIG_DIR,
|
|
||||||
rec->name, rec->conn[0].address, rec->conn[0].port);
|
|
||||||
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
142
SOURCES/0005-improved-onboot-and-shutdown-services.patch
Normal file
142
SOURCES/0005-improved-onboot-and-shutdown-services.patch
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
From 5a62fe2c3c36b9d14b433edb8cbccbed7af4e2b7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: rpm-build <rpm-build>
|
||||||
|
Date: Tue, 18 Apr 2023 15:53:33 -0700
|
||||||
|
Subject: [PATCH 4/6] improved onboot and shutdown services
|
||||||
|
|
||||||
|
---
|
||||||
|
etc/systemd/iscsi-mark-root-nodes | 34 +++++++++++++++++++++
|
||||||
|
etc/systemd/iscsi-onboot.service.template | 15 +++++++++
|
||||||
|
etc/systemd/iscsi-shutdown.service.template | 15 +++++++++
|
||||||
|
etc/systemd/iscsi.service.template | 3 +-
|
||||||
|
etc/systemd/iscsid.service.template | 2 +-
|
||||||
|
etc/systemd/meson.build | 2 +-
|
||||||
|
6 files changed, 67 insertions(+), 4 deletions(-)
|
||||||
|
create mode 100755 etc/systemd/iscsi-mark-root-nodes
|
||||||
|
create mode 100644 etc/systemd/iscsi-onboot.service.template
|
||||||
|
create mode 100644 etc/systemd/iscsi-shutdown.service.template
|
||||||
|
|
||||||
|
diff --git a/etc/systemd/iscsi-mark-root-nodes b/etc/systemd/iscsi-mark-root-nodes
|
||||||
|
new file mode 100755
|
||||||
|
index 0000000..9d48805
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/etc/systemd/iscsi-mark-root-nodes
|
||||||
|
@@ -0,0 +1,34 @@
|
||||||
|
+#!/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%:}
|
||||||
|
+
|
||||||
|
+ # use session number to find the iface name in use
|
||||||
|
+ num=${num#[}; num=${num%]}
|
||||||
|
+ iface=$(iscsiadm -m session -r $num | grep iface.iscsi_ifacename | cut -d= -f2)
|
||||||
|
+
|
||||||
|
+ $ISCSIADM -m node -p $portal -T $target -I $iface -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-onboot.service.template b/etc/systemd/iscsi-onboot.service.template
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..42ced68
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/etc/systemd/iscsi-onboot.service.template
|
||||||
|
@@ -0,0 +1,15 @@
|
||||||
|
+[Unit]
|
||||||
|
+Description=Special handling of early boot iSCSI sessions
|
||||||
|
+Documentation=man:iscsiadm(8) man:iscsid(8)
|
||||||
|
+DefaultDependencies=no
|
||||||
|
+RefuseManualStart=true
|
||||||
|
+Before=iscsi.service
|
||||||
|
+After=systemd-remount-fs.service
|
||||||
|
+ConditionDirectoryNotEmpty=/sys/class/iscsi_session
|
||||||
|
+
|
||||||
|
+[Service]
|
||||||
|
+Type=oneshot
|
||||||
|
+ExecStart=-/usr/libexec/iscsi-mark-root-nodes
|
||||||
|
+
|
||||||
|
+[Install]
|
||||||
|
+WantedBy=sysinit.target
|
||||||
|
diff --git a/etc/systemd/iscsi-shutdown.service.template b/etc/systemd/iscsi-shutdown.service.template
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..fe5d5cd
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/etc/systemd/iscsi-shutdown.service.template
|
||||||
|
@@ -0,0 +1,15 @@
|
||||||
|
+[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
|
||||||
|
+ExecStart=-/usr/bin/true
|
||||||
|
+ExecStop=-@SBINDIR@/iscsiadm -m node --logoutall=all
|
||||||
|
diff --git a/etc/systemd/iscsi.service.template b/etc/systemd/iscsi.service.template
|
||||||
|
index 8a4de9b..17153a1 100644
|
||||||
|
--- a/etc/systemd/iscsi.service.template
|
||||||
|
+++ b/etc/systemd/iscsi.service.template
|
||||||
|
@@ -9,8 +9,7 @@ Wants=network-online.target
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=@SBINDIR@/iscsiadm -m node --loginall=automatic -W
|
||||||
|
-ExecStop=@SBINDIR@/iscsiadm -m node --logoutall=automatic
|
||||||
|
-ExecStop=@SBINDIR@/iscsiadm -m node --logoutall=manual
|
||||||
|
+ExecReload=@SBINDIR@/iscsiadm -m node --loginall=automatic -W
|
||||||
|
SuccessExitStatus=21 15
|
||||||
|
RemainAfterExit=true
|
||||||
|
|
||||||
|
diff --git a/etc/systemd/iscsid.service.template b/etc/systemd/iscsid.service.template
|
||||||
|
index e2a50d3..8987299 100644
|
||||||
|
--- a/etc/systemd/iscsid.service.template
|
||||||
|
+++ b/etc/systemd/iscsid.service.template
|
||||||
|
@@ -5,7 +5,7 @@ DefaultDependencies=no
|
||||||
|
After=network-online.target iscsiuio.service iscsi-init.service
|
||||||
|
Before=remote-fs-pre.target
|
||||||
|
Wants=remote-fs-pre.target
|
||||||
|
-Requires=iscsi-init.service
|
||||||
|
+Requires=iscsi-init.service iscsi-shutdown.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=notify
|
||||||
|
diff --git a/etc/systemd/meson.build b/etc/systemd/meson.build
|
||||||
|
index 1470a53..adcc6a1 100644
|
||||||
|
--- a/etc/systemd/meson.build
|
||||||
|
+++ b/etc/systemd/meson.build
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
#
|
||||||
|
|
||||||
|
# templated systemd service files
|
||||||
|
-iscsi_etc_systemd_service_units = ['iscsi-init', 'iscsid', 'iscsi', 'iscsi-starter', 'iscsiuio']
|
||||||
|
+iscsi_etc_systemd_service_units = ['iscsi-init', 'iscsid', 'iscsi', 'iscsi-starter', 'iscsiuio', 'iscsi-onboot', 'iscsi-shutdown']
|
||||||
|
iscsi_etc_systemd_service_units_arr = {}
|
||||||
|
foreach u: iscsi_etc_systemd_service_units
|
||||||
|
iscsi_etc_systemd_service_units_arr += {u + '.service': files(u + '.service.template')}
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
@ -1,134 +0,0 @@
|
|||||||
From 97b1242450df25648d203acf7cc297cd46d10e8c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chris Leech <cleech@redhat.com>
|
|
||||||
Date: Mon, 19 Nov 2012 16:37:13 -0800
|
|
||||||
Subject: [PATCH] update initscripts and docs
|
|
||||||
|
|
||||||
---
|
|
||||||
README | 12 +++++-------
|
|
||||||
etc/iscsid.conf | 23 +++++++++++------------
|
|
||||||
usr/idbm.c | 4 ++++
|
|
||||||
3 files changed, 20 insertions(+), 19 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/README b/README
|
|
||||||
index 508c9d7..b62a14e 100644
|
|
||||||
--- a/README
|
|
||||||
+++ b/README
|
|
||||||
@@ -77,11 +77,6 @@ the cache sync command will fail.
|
|
||||||
- iscsiadm's -P 3 option will not print out scsi devices.
|
|
||||||
- iscsid will not automatically online devices.
|
|
||||||
|
|
||||||
-You need to enable "Cryptographic API" under "Cryptographic options" in the
|
|
||||||
-kernel config. And you must enable "CRC32c CRC algorithm" even if
|
|
||||||
-you do not use header or data digests. They are the kernel options
|
|
||||||
-CONFIG_CRYPTO and CONFIG_CRYPTO_CRC32C, respectively.
|
|
||||||
-
|
|
||||||
The userspace components iscsid, iscsiadm and iscsistart require the
|
|
||||||
open-isns library, which can be found here:
|
|
||||||
https://github.com/gonzoleeman/open-isns/releases
|
|
||||||
@@ -1163,11 +1158,11 @@ Red Hat or Fedora:
|
|
||||||
-----------------
|
|
||||||
To start open-iscsi in Red Hat/Fedora you can do:
|
|
||||||
|
|
||||||
- systemctl start open-iscsi
|
|
||||||
+ systemctl start iscsi
|
|
||||||
|
|
||||||
To get open-iscsi to automatically start at run time you may have to
|
|
||||||
run:
|
|
||||||
- systemctl enable open-iscsi
|
|
||||||
+ systemctl enable iscsi
|
|
||||||
|
|
||||||
And, to automatically mount a file system during startup
|
|
||||||
you must have the partition entry in /etc/fstab marked with the "_netdev"
|
|
||||||
@@ -1370,6 +1365,9 @@ iscsid will only perform rediscovery when it gets a SCN from the server.
|
|
||||||
# linux-isns (SLES's iSNS server) where it sometimes does not send SCN
|
|
||||||
# events in the proper format, so they may not get handled.
|
|
||||||
|
|
||||||
+To set the startup value, so that nodes are not logged into automatically
|
|
||||||
+use the value "manual".
|
|
||||||
+
|
|
||||||
Examples
|
|
||||||
--------
|
|
||||||
|
|
||||||
diff --git a/etc/iscsid.conf b/etc/iscsid.conf
|
|
||||||
index f21ed3d..420145b 100644
|
|
||||||
--- a/etc/iscsid.conf
|
|
||||||
+++ b/etc/iscsid.conf
|
|
||||||
@@ -19,8 +19,8 @@
|
|
||||||
# the time then leave this attribute commented out.
|
|
||||||
#
|
|
||||||
# Default for Fedora and RHEL. (uncomment to activate).
|
|
||||||
-# iscsid.startup = /bin/systemctl start iscsid.socket iscsiuio.socket
|
|
||||||
-#
|
|
||||||
+iscsid.startup = /bin/systemctl start iscsid.socket iscsiuio.socket
|
|
||||||
+#
|
|
||||||
# Default if you are not using systemd (uncomment to activate)
|
|
||||||
# iscsid.startup = /usr/bin/service start iscsid
|
|
||||||
|
|
||||||
@@ -41,8 +41,8 @@
|
|
||||||
# To request that the iscsi initd scripts startup a session set to "automatic".
|
|
||||||
# node.startup = automatic
|
|
||||||
#
|
|
||||||
-# To manually startup the session set to "manual". The default is manual.
|
|
||||||
-node.startup = manual
|
|
||||||
+# To manually startup the session set to "manual". The default is automatic.
|
|
||||||
+node.startup = automatic
|
|
||||||
|
|
||||||
# For "automatic" startup nodes, setting this to "Yes" will try logins on each
|
|
||||||
# available iface until one succeeds, and then stop. The default "No" will try
|
|
||||||
@@ -271,28 +271,27 @@ node.conn[0].iscsi.MaxXmitDataSegmentLength = 0
|
|
||||||
discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768
|
|
||||||
|
|
||||||
# To allow the targets to control the setting of the digest checking,
|
|
||||||
-# with the initiator requesting a preference of enabling the checking, uncomment# one or both of the following lines:
|
|
||||||
+# with the initiator requesting a preference of enabling the checking, uncomment
|
|
||||||
+# the following lines (Data digests are not supported.):
|
|
||||||
#node.conn[0].iscsi.HeaderDigest = CRC32C,None
|
|
||||||
-#node.conn[0].iscsi.DataDigest = CRC32C,None
|
|
||||||
+
|
|
||||||
#
|
|
||||||
# To allow the targets to control the setting of the digest checking,
|
|
||||||
# with the initiator requesting a preference of disabling the checking,
|
|
||||||
-# uncomment one or both of the following lines:
|
|
||||||
+# uncomment the following line:
|
|
||||||
#node.conn[0].iscsi.HeaderDigest = None,CRC32C
|
|
||||||
-#node.conn[0].iscsi.DataDigest = None,CRC32C
|
|
||||||
#
|
|
||||||
# To enable CRC32C digest checking for the header and/or data part of
|
|
||||||
-# iSCSI PDUs, uncomment one or both of the following lines:
|
|
||||||
+# iSCSI PDUs, uncomment the following line:
|
|
||||||
#node.conn[0].iscsi.HeaderDigest = CRC32C
|
|
||||||
-#node.conn[0].iscsi.DataDigest = CRC32C
|
|
||||||
#
|
|
||||||
# To disable digest checking for the header and/or data part of
|
|
||||||
-# iSCSI PDUs, uncomment one or both of the following lines:
|
|
||||||
+# iSCSI PDUs, uncomment the following line:
|
|
||||||
#node.conn[0].iscsi.HeaderDigest = None
|
|
||||||
-#node.conn[0].iscsi.DataDigest = None
|
|
||||||
#
|
|
||||||
# The default is to never use DataDigests or HeaderDigests.
|
|
||||||
#
|
|
||||||
+node.conn[0].iscsi.HeaderDigest = None
|
|
||||||
|
|
||||||
# For multipath configurations, you may want more than one session to be
|
|
||||||
# created on each iface record. If node.session.nr_sessions is greater
|
|
||||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
|
||||||
index f1e5c88..0f0f17a 100644
|
|
||||||
--- a/usr/idbm.c
|
|
||||||
+++ b/usr/idbm.c
|
|
||||||
@@ -566,9 +566,13 @@ idbm_recinfo_node(node_rec_t *r, recinfo_t *ri)
|
|
||||||
IDBM_SHOW, "None", "CRC32C", "CRC32C,None",
|
|
||||||
"None,CRC32C", num, 1);
|
|
||||||
sprintf(key, CONN_DATA_DIGEST, i);
|
|
||||||
+
|
|
||||||
+#if 0
|
|
||||||
+We do not support data digests
|
|
||||||
__recinfo_int_o4(key, ri, r, conn[i].iscsi.DataDigest, IDBM_SHOW,
|
|
||||||
"None", "CRC32C", "CRC32C,None",
|
|
||||||
"None,CRC32C", num, 1);
|
|
||||||
+#endif
|
|
||||||
sprintf(key, CONN_IFMARKER, i);
|
|
||||||
__recinfo_int_o2(key, ri, r, conn[i].iscsi.IFMarker, IDBM_SHOW,
|
|
||||||
"No", "Yes", num, 1);
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
34
SOURCES/0006-iscsid.conf-Fedora-Red-Hat-defaults.patch
Normal file
34
SOURCES/0006-iscsid.conf-Fedora-Red-Hat-defaults.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
From f3b8f65a16e6e8414f8dedca4330fc0dced113db Mon Sep 17 00:00:00 2001
|
||||||
|
From: rpm-build <rpm-build>
|
||||||
|
Date: Tue, 18 Apr 2023 16:00:44 -0700
|
||||||
|
Subject: [PATCH 5/6] iscsid.conf Fedora / Red Hat defaults
|
||||||
|
|
||||||
|
---
|
||||||
|
etc/iscsid.conf | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/etc/iscsid.conf b/etc/iscsid.conf
|
||||||
|
index ca29e43..ec4d4df 100644
|
||||||
|
--- a/etc/iscsid.conf
|
||||||
|
+++ b/etc/iscsid.conf
|
||||||
|
@@ -18,7 +18,7 @@
|
||||||
|
# the time then leave this attribute commented out.
|
||||||
|
#
|
||||||
|
# Default for Fedora and RHEL. Uncomment to activate.
|
||||||
|
-# iscsid.startup = /bin/systemctl start iscsid.socket iscsiuio.socket
|
||||||
|
+iscsid.startup = /bin/systemctl start iscsid.socket iscsiuio.socket
|
||||||
|
#
|
||||||
|
# Default for Debian and Ubuntu. Uncomment to activate.
|
||||||
|
# iscsid.startup = /bin/systemctl start iscsid.socket
|
||||||
|
@@ -51,7 +51,7 @@
|
||||||
|
# node.startup = automatic
|
||||||
|
#
|
||||||
|
# To manually startup the session, use "manual". The default is manual.
|
||||||
|
-node.startup = manual
|
||||||
|
+node.startup = automatic
|
||||||
|
|
||||||
|
# For "automatic" startup nodes, setting this to "Yes" will try logins on each
|
||||||
|
# available iface until one succeeds, and then stop. The default "No" will try
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
@ -1,255 +0,0 @@
|
|||||||
From e6ab14371300e45c4f03efa64917f7601675f01d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chris Leech <cleech@redhat.com>
|
|
||||||
Date: Mon, 19 Nov 2012 16:38:45 -0800
|
|
||||||
Subject: [PATCH 1/1] 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 ++-
|
|
||||||
6 files changed, 33 insertions(+), 32 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/README b/README
|
|
||||||
index b62a14e..1875e3d 100644
|
|
||||||
--- a/README
|
|
||||||
+++ b/README
|
|
||||||
@@ -172,8 +172,7 @@ Usage: iscsid [OPTION]
|
|
||||||
|
|
||||||
Open-iSCSI persistent configuration is stored in a number of
|
|
||||||
directories under a configuration root directory, using a flat-file
|
|
||||||
-format. This configuration root directory is /etc/iscsi by default,
|
|
||||||
-but may also commonly be in /var/lib/iscsi.
|
|
||||||
+format. This configuration root directory is /var/lib/iscsi by default.
|
|
||||||
|
|
||||||
Configuration is contained in directories for:
|
|
||||||
|
|
||||||
@@ -573,7 +572,7 @@ a scsi_host per HBA port).
|
|
||||||
To manage both types of initiator stacks, iscsiadm uses the interface (iface)
|
|
||||||
structure. For each HBA port or for software iscsi for each network
|
|
||||||
device (ethX) or NIC, that you wish to bind sessions to you must create
|
|
||||||
-a iface config /etc/iscsi/ifaces.
|
|
||||||
+a iface config /var/lib/iscsi/ifaces.
|
|
||||||
|
|
||||||
Prep
|
|
||||||
----
|
|
||||||
@@ -606,7 +605,7 @@ Running
|
|
||||||
The command
|
|
||||||
iscsiadm -m iface
|
|
||||||
|
|
||||||
-will report iface configurations that are setup in /etc/iscsi/ifaces:
|
|
||||||
+will report iface configurations that are setup in /var/lib/iscsi/ifaces:
|
|
||||||
|
|
||||||
iface0 qla4xxx,00:c0:dd:08:63:e8,20.15.0.7,default,iqn.2005-06.com.redhat:madmax
|
|
||||||
iface1 qla4xxx,00:c0:dd:08:63:ea,20.15.0.9,default,iqn.2005-06.com.redhat:madmax
|
|
||||||
@@ -616,10 +615,10 @@ The format is:
|
|
||||||
|
|
||||||
For software iscsi, you can create the iface configs by hand, but it is
|
|
||||||
recommended that you use iscsiadm's iface mode. There is an iface.example in
|
|
||||||
-/etc/iscsi/ifaces which can be used as a template for the daring.
|
|
||||||
+/var/lib/iscsi/ifaces which can be used as a template for the daring.
|
|
||||||
|
|
||||||
For each network object you wish to bind a session to, you must create
|
|
||||||
-a separate iface config in /etc/iscsi/ifaces and each iface config file
|
|
||||||
+a separate iface config in /var/lib/iscsi/ifaces and each iface config file
|
|
||||||
must have a unique name which is less than or equal to 64 characters.
|
|
||||||
|
|
||||||
Example
|
|
||||||
@@ -627,12 +626,12 @@ Example
|
|
||||||
|
|
||||||
If you have NIC1 with MAC address 00:0F:1F:92:6B:BF and NIC2 with
|
|
||||||
MAC address 00:C0:DD:08:63:E7, and you wanted to do software iscsi over
|
|
||||||
-TCP/IP, then in /etc/iscsi/ifaces/iface0 you would enter:
|
|
||||||
+TCP/IP, then in /var/lib/iscsi/ifaces/iface0 you would enter:
|
|
||||||
|
|
||||||
iface.transport_name = tcp
|
|
||||||
iface.hwaddress = 00:0F:1F:92:6B:BF
|
|
||||||
|
|
||||||
-and in /etc/iscsi/ifaces/iface1 you would enter:
|
|
||||||
+and in /var/lib/iscsi/ifaces/iface1 you would enter:
|
|
||||||
|
|
||||||
iface.transport_name = tcp
|
|
||||||
iface.hwaddress = 00:C0:DD:08:63:E7
|
|
||||||
@@ -674,7 +673,7 @@ port. The iface name will be of the form:
|
|
||||||
Running the following command:
|
|
||||||
iscsiadm -m iface
|
|
||||||
|
|
||||||
-will report iface configurations that are setup in /etc/iscsi/ifaces:
|
|
||||||
+will report iface configurations that are setup in /var/lib/iscsi/ifaces:
|
|
||||||
|
|
||||||
default tcp,<empty>,<empty>,<empty>,<empty>
|
|
||||||
iser iser,<empty>,<empty>,<empty>,<empty>
|
|
||||||
@@ -754,7 +753,7 @@ need a separate network connection to the target for discovery purposes.
|
|
||||||
*This will be fixed in the next version of open-iscsi*
|
|
||||||
|
|
||||||
For compatibility reasons, when you run iscsiadm to do discovery, it
|
|
||||||
-will check for interfaces in /etc/iscsi/iscsi/ifaces that are using
|
|
||||||
+will check for interfaces in /var/lib/iscsi/iscsi/ifaces that are using
|
|
||||||
tcp for the iface.transport, and it will bind the portals that are discovered
|
|
||||||
so that they will be logged in through those ifaces. This behavior can also
|
|
||||||
be overridden by passing in the interfaces you want to use. For the case
|
|
||||||
@@ -769,7 +768,7 @@ If you had defined interfaces but wanted the old behavior, where we do not
|
|
||||||
bind a session to an iface, then you can use the special iface "default":
|
|
||||||
iscsiadm -m discoverydb -t st -p ip:port -I default --discover -P 1
|
|
||||||
|
|
||||||
-And if you did not define any interfaces in /etc/iscsi/ifaces and do
|
|
||||||
+And if you did not define any interfaces in /var/lib/iscsi/ifaces and do
|
|
||||||
not pass anything into iscsiadm, running iscsiadm will do the default
|
|
||||||
behavior, allowing the network subsystem to decide which device to use.
|
|
||||||
|
|
||||||
@@ -805,7 +804,7 @@ Discovery mode
|
|
||||||
ID [192.168.1.1:3260]:
|
|
||||||
iscsiadm -m discoverydb -t st -p 192.168.1.1:3260 --discover
|
|
||||||
|
|
||||||
- This will search /etc/iscsi/send_targets for a record with the
|
|
||||||
+ This will search /var/lib/iscsi/send_targets for a record with the
|
|
||||||
ID [portal = 192.168.1.1:3260 and type = sendtargets. If found it
|
|
||||||
will perform discovery using the settings stored in the record.
|
|
||||||
If a record does not exist, it will be created using the iscsid.conf
|
|
||||||
@@ -814,7 +813,7 @@ Discovery mode
|
|
||||||
The argument to -p may also be a hostname instead of an address:
|
|
||||||
iscsiadm -m discoverydb -t st -p somehost --discover
|
|
||||||
|
|
||||||
- For the ifaces, iscsiadm will first search /etc/iscsi/ifaces for
|
|
||||||
+ For the ifaces, iscsiadm will first search /var/lib/iscsi/ifaces for
|
|
||||||
interfaces using software iscsi. If any are found then nodes found
|
|
||||||
during discovery will be setup so that they can logged in through
|
|
||||||
those interfaces. To specify a specific iface, pass the
|
|
||||||
@@ -865,7 +864,7 @@ Discovery mode
|
|
||||||
|
|
||||||
- SendTargets iSCSI Discovery with a specific interface.
|
|
||||||
If you wish to only use a subset of the interfaces in
|
|
||||||
- /etc/iscsi/ifaces, then you can pass them in during discovery:
|
|
||||||
+ /var/lib/iscsi/ifaces, then you can pass them in during discovery:
|
|
||||||
iscsiadm -m discoverydb -t sendtargets -p 192.168.1.1:3260 \
|
|
||||||
--interface=iface0 --interface=iface1 --discover
|
|
||||||
|
|
||||||
@@ -1232,8 +1231,8 @@ where targetname is the name of the target and ip_address:port is the address
|
|
||||||
and port of the portal. tpgt is the Target Portal Group Tag of
|
|
||||||
the portal, and is not used in iscsiadm commands except for static
|
|
||||||
record creation. ifacename is the name of the iscsi interface
|
|
||||||
-defined in /etc/iscsi/ifaces. If no interface was defined in
|
|
||||||
-/etc/iscsi/ifaces or passed in, the default behavior is used.
|
|
||||||
+defined in /var/lib/iscsi/ifaces. If no interface was defined in
|
|
||||||
+/var/lib/iscsi/ifaces or passed in, the default behavior is used.
|
|
||||||
Default here is iscsi_tcp/tcp to be used over whichever NIC the
|
|
||||||
network layer decides is best.
|
|
||||||
|
|
||||||
@@ -1353,7 +1352,7 @@ If set, iscsid will perform discovery to the address every
|
|
||||||
discovery.isns.discoveryd_poll_inval or
|
|
||||||
discovery.sendtargets.discoveryd_poll_inval seconds,
|
|
||||||
and it will log into any portals found from the discovery source using
|
|
||||||
-the ifaces in /etc/iscsi/ifaces.
|
|
||||||
+the ifaces in /var/lib/iscsi/ifaces.
|
|
||||||
|
|
||||||
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 3729a72..9f84a81 100644
|
|
||||||
--- a/doc/iscsiadm.8
|
|
||||||
+++ b/doc/iscsiadm.8
|
|
||||||
@@ -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.
|
|
||||||
-iSCSI interfaces (iface) are defined in /etc/iscsi/ifaces. For hardware
|
|
||||||
+iSCSI interfaces (iface) are defined in /var/lib/iscsi/ifaces. For hardware
|
|
||||||
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
|
|
||||||
\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
|
|
||||||
In node mode, specify a field \fIname\fR in a record. In flashnode submode
|
|
||||||
@@ -681,10 +681,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
|
|
||||||
-/etc/iscsi/nodes/
|
|
||||||
+/var/lib/iscsi/nodes/
|
|
||||||
This directory contains the nodes with their targets.
|
|
||||||
.TP
|
|
||||||
-/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 db996b4..eaa9c3b 100644
|
|
||||||
--- a/doc/iscsid.8
|
|
||||||
+++ b/doc/iscsid.8
|
|
||||||
@@ -70,7 +70,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 7c63c04..779d052 100644
|
|
||||||
--- a/usr/idbm.c
|
|
||||||
+++ b/usr/idbm.c
|
|
||||||
@@ -3104,9 +3104,9 @@ free_info:
|
|
||||||
int idbm_init(idbm_get_config_file_fn *fn)
|
|
||||||
{
|
|
||||||
/* make sure root db dir is there */
|
|
||||||
- if (access(ISCSI_CONFIG_ROOT, F_OK) != 0) {
|
|
||||||
- if (mkdir(ISCSI_CONFIG_ROOT, 0770) != 0) {
|
|
||||||
- log_error("Could not make %s %d", ISCSI_CONFIG_ROOT,
|
|
||||||
+ if (access(ISCSIVAR, F_OK) != 0) {
|
|
||||||
+ if (mkdir(ISCSIVAR, 0770) != 0) {
|
|
||||||
+ log_error("Could not make %s %d", ISCSIVAR,
|
|
||||||
errno);
|
|
||||||
return errno;
|
|
||||||
}
|
|
||||||
diff --git a/usr/idbm.h b/usr/idbm.h
|
|
||||||
index 7496f1d..db3048b 100644
|
|
||||||
--- a/usr/idbm.h
|
|
||||||
+++ b/usr/idbm.h
|
|
||||||
@@ -30,12 +30,13 @@
|
|
||||||
#include "list.h"
|
|
||||||
#include "flashnode.h"
|
|
||||||
|
|
||||||
-#define NODE_CONFIG_DIR ISCSI_CONFIG_ROOT"nodes"
|
|
||||||
-#define SLP_CONFIG_DIR ISCSI_CONFIG_ROOT"slp"
|
|
||||||
-#define ISNS_CONFIG_DIR ISCSI_CONFIG_ROOT"isns"
|
|
||||||
-#define STATIC_CONFIG_DIR ISCSI_CONFIG_ROOT"static"
|
|
||||||
-#define FW_CONFIG_DIR ISCSI_CONFIG_ROOT"fw"
|
|
||||||
-#define ST_CONFIG_DIR ISCSI_CONFIG_ROOT"send_targets"
|
|
||||||
+#define ISCSIVAR "/var/lib/iscsi/"
|
|
||||||
+#define NODE_CONFIG_DIR ISCSIVAR"nodes"
|
|
||||||
+#define SLP_CONFIG_DIR ISCSIVAR"slp"
|
|
||||||
+#define ISNS_CONFIG_DIR ISCSIVAR"isns"
|
|
||||||
+#define STATIC_CONFIG_DIR ISCSIVAR"static"
|
|
||||||
+#define FW_CONFIG_DIR ISCSIVAR"fw"
|
|
||||||
+#define ST_CONFIG_DIR ISCSIVAR"send_targets"
|
|
||||||
#define ST_CONFIG_NAME "st_config"
|
|
||||||
#define ISNS_CONFIG_NAME "isns_config"
|
|
||||||
|
|
||||||
diff --git a/usr/iface.h b/usr/iface.h
|
|
||||||
index 6c06f7f..c8b9de9 100644
|
|
||||||
--- a/usr/iface.h
|
|
||||||
+++ b/usr/iface.h
|
|
||||||
@@ -21,8 +21,9 @@
|
|
||||||
#define ISCSI_IFACE_H
|
|
||||||
|
|
||||||
#include <libopeniscsiusr/libopeniscsiusr.h>
|
|
||||||
+#include "idbm.h"
|
|
||||||
|
|
||||||
-#define IFACE_CONFIG_DIR ISCSI_CONFIG_ROOT"ifaces"
|
|
||||||
+#define IFACE_CONFIG_DIR ISCSIVAR"ifaces"
|
|
||||||
|
|
||||||
struct iface_rec;
|
|
||||||
struct list_head;
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
70
SOURCES/0007-Disable-Data-Digests.patch
Normal file
70
SOURCES/0007-Disable-Data-Digests.patch
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
From 4fd0476062b1c63e1e4aff45a59e3fa79e3bf0e6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: rpm-build <rpm-build>
|
||||||
|
Date: Tue, 18 Apr 2023 16:04:00 -0700
|
||||||
|
Subject: [PATCH 6/6] Disable Data Digests
|
||||||
|
|
||||||
|
---
|
||||||
|
etc/iscsid.conf | 18 +++++++-----------
|
||||||
|
usr/idbm.c | 4 ++++
|
||||||
|
2 files changed, 11 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/etc/iscsid.conf b/etc/iscsid.conf
|
||||||
|
index ec4d4df..e009c29 100644
|
||||||
|
--- a/etc/iscsid.conf
|
||||||
|
+++ b/etc/iscsid.conf
|
||||||
|
@@ -285,27 +285,23 @@ discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768
|
||||||
|
|
||||||
|
# To allow the targets to control the setting of the digest checking,
|
||||||
|
# with the initiator requesting a preference of enabling the checking,
|
||||||
|
-# uncomment one or both of the following lines:
|
||||||
|
+# uncomment the following line:
|
||||||
|
#node.conn[0].iscsi.HeaderDigest = CRC32C,None
|
||||||
|
-#node.conn[0].iscsi.DataDigest = CRC32C,None
|
||||||
|
#
|
||||||
|
# To allow the targets to control the setting of the digest checking,
|
||||||
|
# with the initiator requesting a preference of disabling the checking,
|
||||||
|
-# uncomment one or both of the following lines:
|
||||||
|
+# uncomment the following line:
|
||||||
|
#node.conn[0].iscsi.HeaderDigest = None,CRC32C
|
||||||
|
-#node.conn[0].iscsi.DataDigest = None,CRC32C
|
||||||
|
#
|
||||||
|
-# To enable CRC32C digest checking for the header and/or data part of
|
||||||
|
-# iSCSI PDUs, uncomment one or both of the following lines:
|
||||||
|
+# To enable CRC32C digest checking for the header of
|
||||||
|
+# iSCSI PDUs, uncomment the following line:
|
||||||
|
#node.conn[0].iscsi.HeaderDigest = CRC32C
|
||||||
|
-#node.conn[0].iscsi.DataDigest = CRC32C
|
||||||
|
#
|
||||||
|
-# To disable digest checking for the header and/or data part of
|
||||||
|
-# iSCSI PDUs, uncomment one or both of the following lines:
|
||||||
|
+# To disable digest checking for the header of
|
||||||
|
+# iSCSI PDUs, uncomment the following line:
|
||||||
|
#node.conn[0].iscsi.HeaderDigest = None
|
||||||
|
-#node.conn[0].iscsi.DataDigest = None
|
||||||
|
#
|
||||||
|
-# The default is to never use DataDigests or HeaderDigests.
|
||||||
|
+# The default is to never use HeaderDigests.
|
||||||
|
#
|
||||||
|
|
||||||
|
# For multipath configurations, you may want more than one session to be
|
||||||
|
diff --git a/usr/idbm.c b/usr/idbm.c
|
||||||
|
index ca4a4ec..32e99bc 100644
|
||||||
|
--- a/usr/idbm.c
|
||||||
|
+++ b/usr/idbm.c
|
||||||
|
@@ -568,9 +568,13 @@ idbm_recinfo_node(node_rec_t *r, recinfo_t *ri)
|
||||||
|
IDBM_SHOW, "None", "CRC32C", "CRC32C,None",
|
||||||
|
"None,CRC32C", num, 1);
|
||||||
|
sprintf(key, CONN_DATA_DIGEST, i);
|
||||||
|
+
|
||||||
|
+#if 0
|
||||||
|
+We do not support data digests
|
||||||
|
__recinfo_int_o4(key, ri, r, conn[i].iscsi.DataDigest, IDBM_SHOW,
|
||||||
|
"None", "CRC32C", "CRC32C,None",
|
||||||
|
"None,CRC32C", num, 1);
|
||||||
|
+#endif
|
||||||
|
sprintf(key, CONN_IFMARKER, i);
|
||||||
|
__recinfo_int_o2(key, ri, r, conn[i].iscsi.IFMarker, IDBM_SHOW,
|
||||||
|
"No", "Yes", num, 1);
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
@ -1,39 +0,0 @@
|
|||||||
From 8312003a6a9e41d8d20eb8225ec8c4b2860351ec Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chris Leech <cleech@redhat.com>
|
|
||||||
Date: Mon, 19 Nov 2012 16:40:04 -0800
|
|
||||||
Subject: [PATCH] use red hat for name
|
|
||||||
|
|
||||||
---
|
|
||||||
doc/iscsi-iname.8 | 2 +-
|
|
||||||
utils/iscsi-iname.c | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/doc/iscsi-iname.8 b/doc/iscsi-iname.8
|
|
||||||
index 6a413f6..dd77ed9 100644
|
|
||||||
--- a/doc/iscsi-iname.8
|
|
||||||
+++ b/doc/iscsi-iname.8
|
|
||||||
@@ -14,7 +14,7 @@ generates a unique iSCSI node name on every invocation.
|
|
||||||
Display help
|
|
||||||
.TP
|
|
||||||
.BI [-p=]\fIprefix\fP
|
|
||||||
-Use the prefix passed in instead of the default "iqn.2016-04.com.open-iscsi"
|
|
||||||
+Use the prefix passed in instead of the default "iqn.1994-05.com.redhat"
|
|
||||||
|
|
||||||
.SH AUTHORS
|
|
||||||
Open-iSCSI project <http://www.open-iscsi.com/>
|
|
||||||
diff --git a/utils/iscsi-iname.c b/utils/iscsi-iname.c
|
|
||||||
index 0f587e1..0e15650 100644
|
|
||||||
--- a/utils/iscsi-iname.c
|
|
||||||
+++ b/utils/iscsi-iname.c
|
|
||||||
@@ -89,7 +89,7 @@ main(int argc, char *argv[])
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
- prefix = "iqn.2016-04.com.open-iscsi";
|
|
||||||
+ prefix = "iqn.1994-05.com.redhat";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* try to feed some entropy from the pool to MD5 in order to get
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
|||||||
From 676f48d6e70f8406b36a004669d923825db51e2f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jiri Konecny <jkonecny@redhat.com>
|
|
||||||
Date: Mon, 11 May 2015 13:16:26 +0200
|
|
||||||
Subject: [PATCH] Add macros to release GIL lock
|
|
||||||
|
|
||||||
Other threads are blocked when GIL is not released before the time consuming
|
|
||||||
functions.
|
|
||||||
---
|
|
||||||
libiscsi/pylibiscsi.c | 16 +++++++++++++---
|
|
||||||
1 file changed, 13 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libiscsi/pylibiscsi.c b/libiscsi/pylibiscsi.c
|
|
||||||
index 8800853..40b5955 100644
|
|
||||||
--- a/libiscsi/pylibiscsi.c
|
|
||||||
+++ b/libiscsi/pylibiscsi.c
|
|
||||||
@@ -364,8 +364,13 @@ static PyObject *PyIscsiNode_str(PyObject *self)
|
|
||||||
static PyObject *PyIscsiNode_login(PyObject *self)
|
|
||||||
{
|
|
||||||
PyIscsiNode *node = (PyIscsiNode *)self;
|
|
||||||
+ int ret;
|
|
||||||
|
|
||||||
- if (libiscsi_node_login(context, &node->node)) {
|
|
||||||
+ Py_BEGIN_ALLOW_THREADS
|
|
||||||
+ ret = libiscsi_node_login(context, &node->node);
|
|
||||||
+ Py_END_ALLOW_THREADS
|
|
||||||
+
|
|
||||||
+ if (ret) {
|
|
||||||
PyErr_SetString(PyExc_IOError,
|
|
||||||
libiscsi_get_error_string(context));
|
|
||||||
return NULL;
|
|
||||||
@@ -551,6 +556,7 @@ static PyObject *pylibiscsi_discover_sendtargets(PyObject *self,
|
|
||||||
const struct libiscsi_auth_info *authinfo = NULL;
|
|
||||||
struct libiscsi_node *found_nodes;
|
|
||||||
PyObject* found_node_list;
|
|
||||||
+ int ret;
|
|
||||||
|
|
||||||
if (!PyArg_ParseTupleAndKeywords(args, kwds, "s|iO",
|
|
||||||
kwlist, &address, &port,
|
|
||||||
@@ -570,8 +576,12 @@ static PyObject *pylibiscsi_discover_sendtargets(PyObject *self,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (libiscsi_discover_sendtargets(context, address, port, authinfo,
|
|
||||||
- &nr_found, &found_nodes)) {
|
|
||||||
+ Py_BEGIN_ALLOW_THREADS
|
|
||||||
+ ret = libiscsi_discover_sendtargets(context, address, port, authinfo,
|
|
||||||
+ &nr_found, &found_nodes);
|
|
||||||
+ Py_END_ALLOW_THREADS
|
|
||||||
+
|
|
||||||
+ if (ret) {
|
|
||||||
PyErr_SetString(PyExc_IOError,
|
|
||||||
libiscsi_get_error_string(context));
|
|
||||||
return NULL;
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From c455d7ff3a2fa37cdd5b43616db975aef336a007 Mon Sep 17 00:00:00 2001
|
From 6de09f82e86db0500a59017a473c944877a80516 Mon Sep 17 00:00:00 2001
|
||||||
From: Chris Leech <cleech@redhat.com>
|
From: Chris Leech <cleech@redhat.com>
|
||||||
Date: Wed, 5 Jun 2019 09:08:39 -0700
|
Date: Wed, 5 Jun 2019 09:08:39 -0700
|
||||||
Subject: [PATCH 1/1] Coverity scan fixes
|
Subject: [PATCH 1/1] Coverity scan fixes
|
||||||
@ -15,12 +15,12 @@ diff --git a/iscsiuio/src/unix/libs/qedi.c b/iscsiuio/src/unix/libs/qedi.c
|
|||||||
index 1af8d1b..9a814c6 100644
|
index 1af8d1b..9a814c6 100644
|
||||||
--- a/iscsiuio/src/unix/libs/qedi.c
|
--- a/iscsiuio/src/unix/libs/qedi.c
|
||||||
+++ b/iscsiuio/src/unix/libs/qedi.c
|
+++ b/iscsiuio/src/unix/libs/qedi.c
|
||||||
@@ -1030,7 +1030,7 @@ static int qedi_read(nic_t *nic, packet_t *pkt)
|
@@ -1034,7 +1034,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",
|
ILOG_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);
|
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",
|
- ILOG_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",
|
+ ILOG_DEBUG(PFX "%s: sw_con %d bd_cons %d num BD %lu",
|
||||||
nic->log_name, sw_cons, bd_cons, QEDI_NUM_RX_BD);
|
nic->log_name, sw_cons, bd_cons, QEDI_NUM_RX_BD);
|
||||||
|
|
||||||
if (bd_cons != bd_prod) {
|
if (bd_cons != bd_prod) {
|
||||||
@ -33,7 +33,7 @@ index 0c9ad49..f83f305 100644
|
|||||||
sigaddset(&set, SIGUSR1);
|
sigaddset(&set, SIGUSR1);
|
||||||
rc = pthread_sigmask(SIG_SETMASK, &set, NULL);
|
rc = pthread_sigmask(SIG_SETMASK, &set, NULL);
|
||||||
+ if (rc != 0) {
|
+ if (rc != 0) {
|
||||||
+ LOG_ERR("Failed to set thread signal mask");
|
+ ILOG_ERR("Failed to set thread signal mask");
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
/* Spin off the signal handling thread */
|
/* Spin off the signal handling thread */
|
||||||
@ -96,5 +96,5 @@ index dc54fec..fde8894 100644
|
|||||||
if ((control_fd = ipc->ctldev_open()) < 0) {
|
if ((control_fd = ipc->ctldev_open()) < 0) {
|
||||||
log_close(log_pid);
|
log_close(log_pid);
|
||||||
--
|
--
|
||||||
2.31.1
|
2.26.3
|
||||||
|
|
@ -0,0 +1,39 @@
|
|||||||
|
From 08e9412135c1c89df4d50b8dbdc12c0d227307cb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Leech <cleech@redhat.com>
|
||||||
|
Date: Mon, 21 Jan 2013 15:43:36 -0800
|
||||||
|
Subject: [PATCH 1/1] use Red Hat version string to match RPM package version
|
||||||
|
|
||||||
|
---
|
||||||
|
Makefile | 2 +-
|
||||||
|
meson.build | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index a0859b7..7ae461a 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -7,7 +7,7 @@
|
||||||
|
DESTDIR ?=
|
||||||
|
|
||||||
|
# our VERSION String
|
||||||
|
-ISCSI_VERSION_STR ?= 2.1.9
|
||||||
|
+ISCSI_VERSION_STR ?= 6.2.1.9
|
||||||
|
|
||||||
|
prefix = /usr
|
||||||
|
exec_prefix =
|
||||||
|
diff --git a/meson.build b/meson.build
|
||||||
|
index d49afbb..ab67096 100644
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -4,7 +4,7 @@
|
||||||
|
|
||||||
|
project('open-iscsi', 'c',
|
||||||
|
meson_version: '>= 0.54.0',
|
||||||
|
- version: '2.1.9',
|
||||||
|
+ version: '6.2.1.9',
|
||||||
|
license: 'LGPL-2.1-or-later',
|
||||||
|
default_options: [
|
||||||
|
'c_std=gnu99',
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
@ -1,32 +0,0 @@
|
|||||||
From c53c576c09c5a3a1654b7a1f08fcc222a102499d Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <rpm-build>
|
|
||||||
Date: Tue, 28 Feb 2017 09:00:41 -0800
|
|
||||||
Subject: [PATCH] libiscsi: fix discovery request timeout regression
|
|
||||||
|
|
||||||
---
|
|
||||||
libiscsi/libiscsi.c | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
|
|
||||||
index 755c18c..bb17dfc 100644
|
|
||||||
--- a/libiscsi/libiscsi.c
|
|
||||||
+++ b/libiscsi/libiscsi.c
|
|
||||||
@@ -136,6 +136,7 @@ int libiscsi_discover_sendtargets(struct libiscsi_context *context,
|
|
||||||
|
|
||||||
/* Fill the drec struct with all needed info */
|
|
||||||
memset(&drec, 0, sizeof drec);
|
|
||||||
+ drec.iscsid_req_tmo = -1;
|
|
||||||
idbm_sendtargets_defaults(&drec.u.sendtargets);
|
|
||||||
drec.type = DISCOVERY_TYPE_SENDTARGETS;
|
|
||||||
strlcpy(drec.address, address, sizeof(drec.address));
|
|
||||||
@@ -228,6 +229,7 @@ int libiscsi_discover_firmware(struct libiscsi_context *context,
|
|
||||||
CHECK(iface_create_ifaces_from_boot_contexts(&ifaces, &targets));
|
|
||||||
|
|
||||||
memset(&drec, 0, sizeof(drec));
|
|
||||||
+ drec.iscsid_req_tmo = -1;
|
|
||||||
drec.type = DISCOVERY_TYPE_FW;
|
|
||||||
rc = idbm_bind_ifaces_to_nodes(discovery_fw, &drec, &ifaces, &rec_list);
|
|
||||||
if (rc) {
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
|||||||
From cf4db608004f7c1f137ed556e3ba6b6f4d65da96 Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <rpm-build>
|
|
||||||
Date: Tue, 28 Feb 2017 10:06:42 -0800
|
|
||||||
Subject: [PATCH] libiscsi format-security build errors
|
|
||||||
|
|
||||||
---
|
|
||||||
libiscsi/libiscsi.c | 5 +++--
|
|
||||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
|
|
||||||
index bb17dfc..7003388 100644
|
|
||||||
--- a/libiscsi/libiscsi.c
|
|
||||||
+++ b/libiscsi/libiscsi.c
|
|
||||||
@@ -177,7 +177,8 @@ int libiscsi_discover_sendtargets(struct libiscsi_context *context,
|
|
||||||
*found_nodes = calloc(found, sizeof **found_nodes);
|
|
||||||
if (*found_nodes == NULL) {
|
|
||||||
snprintf(context->error_str,
|
|
||||||
- sizeof(context->error_str), strerror(ENOMEM));
|
|
||||||
+ sizeof(context->error_str),
|
|
||||||
+ "%s", strerror(ENOMEM));
|
|
||||||
rc = ENOMEM;
|
|
||||||
goto leave;
|
|
||||||
}
|
|
||||||
@@ -634,7 +635,7 @@ static int get_parameter_helper(void *data, node_rec_t *rec)
|
|
||||||
info = idbm_recinfo_alloc(MAX_KEYS);
|
|
||||||
if (!info) {
|
|
||||||
snprintf(context->error_str, sizeof(context->error_str),
|
|
||||||
- strerror(ENOMEM));
|
|
||||||
+ "%s", strerror(ENOMEM));
|
|
||||||
return ENOMEM;
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
|||||||
From a86a677762cf5fd45a43029a4fd3dd83d1a87a98 Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <rpm-build>
|
|
||||||
Date: Thu, 24 May 2018 15:17:05 -0700
|
|
||||||
Subject: [PATCH] libiscsi fix build to use libopeniscsiusr
|
|
||||||
|
|
||||||
---
|
|
||||||
libiscsi/Makefile | 6 ++++--
|
|
||||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libiscsi/Makefile b/libiscsi/Makefile
|
|
||||||
index 53f9746..f2cf248 100644
|
|
||||||
--- a/libiscsi/Makefile
|
|
||||||
+++ b/libiscsi/Makefile
|
|
||||||
@@ -8,7 +8,9 @@ OSNAME=$(shell uname -s)
|
|
||||||
OPTFLAGS ?= -O2 -g
|
|
||||||
WARNFLAGS ?= -Wall -Wstrict-prototypes
|
|
||||||
CFLAGS = $(OPTFLAGS) $(WARNFLAGS) -I../include -I../usr \
|
|
||||||
- -D$(OSNAME) -fPIC -D_GNU_SOURCE -fvisibility=hidden
|
|
||||||
+ -D$(OSNAME) -fPIC -D_GNU_SOURCE -fvisibility=hidden \
|
|
||||||
+ -I../libopeniscsiusr
|
|
||||||
+LDFLAGS = -L../libopeniscsiusr -lopeniscsiusr
|
|
||||||
LIB = libiscsi.so.0
|
|
||||||
TESTS = tests/test_discovery_sendtargets tests/test_discovery_firmware
|
|
||||||
TESTS += tests/test_login tests/test_logout tests/test_params
|
|
||||||
@@ -23,7 +25,7 @@ FW_PARAM_SRCS = fw_entry.o prom_lex.o prom_parse.tab.o fwparam_ppc.o fwparam_sys
|
|
||||||
# sources shared with the userspace utils, note we build these separately
|
|
||||||
# to get PIC versions.
|
|
||||||
COMMON_OBJS = $(patsubst %.o, common-objs/%.o, $(COMMON_SRCS))
|
|
||||||
-USR_OBJS = $(patsubst %.o, usr-objs/%.o, $(ISCSI_LIB_SRCS) strings.o)
|
|
||||||
+USR_OBJS = $(patsubst %.o, usr-objs/%.o, $(ISCSI_LIB_SRCS) local_strings.o)
|
|
||||||
FW_OBJS = $(patsubst %.o, fw-objs/%.o, $(FW_PARAM_SRCS))
|
|
||||||
|
|
||||||
# Flags for the tests
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -1,66 +0,0 @@
|
|||||||
From 55af753f593243bcd1ab4c7e82620bdee432915b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chris Leech <cleech@redhat.com>
|
|
||||||
Date: Thu, 7 Nov 2019 09:16:17 -0800
|
|
||||||
Subject: [PATCH] libiscsi: fix build against latest upstream, again
|
|
||||||
|
|
||||||
---
|
|
||||||
libiscsi/Makefile | 4 ++--
|
|
||||||
libiscsi/libiscsi.c | 6 +++---
|
|
||||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libiscsi/Makefile b/libiscsi/Makefile
|
|
||||||
index f2cf248..462d666 100644
|
|
||||||
--- a/libiscsi/Makefile
|
|
||||||
+++ b/libiscsi/Makefile
|
|
||||||
@@ -10,7 +10,7 @@ WARNFLAGS ?= -Wall -Wstrict-prototypes
|
|
||||||
CFLAGS = $(OPTFLAGS) $(WARNFLAGS) -I../include -I../usr \
|
|
||||||
-D$(OSNAME) -fPIC -D_GNU_SOURCE -fvisibility=hidden \
|
|
||||||
-I../libopeniscsiusr
|
|
||||||
-LDFLAGS = -L../libopeniscsiusr -lopeniscsiusr
|
|
||||||
+LDFLAGS = -L../libopeniscsiusr -lopeniscsiusr -lkmod -lcrypto
|
|
||||||
LIB = libiscsi.so.0
|
|
||||||
TESTS = tests/test_discovery_sendtargets tests/test_discovery_firmware
|
|
||||||
TESTS += tests/test_login tests/test_logout tests/test_params
|
|
||||||
@@ -19,7 +19,7 @@ TESTS += tests/test_set_auth tests/test_get_auth
|
|
||||||
|
|
||||||
COMMON_SRCS = sysdeps.o
|
|
||||||
# sources shared between iscsid, iscsiadm and iscsistart
|
|
||||||
-ISCSI_LIB_SRCS = netlink.o transport.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o io.o auth.o discovery.o login.o log.o md5.o sha1.o iface.o idbm.o sysfs.o iscsi_sysfs.o iscsi_net_util.o iscsid_req.o iser.o uip_mgmt_ipc.o
|
|
||||||
+ISCSI_LIB_SRCS = netlink.o transport.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o io.o auth.o discovery.o login.o log.o iface.o idbm.o sysfs.o iscsi_sysfs.o iscsi_net_util.o iscsid_req.o iser.o uip_mgmt_ipc.o
|
|
||||||
FW_PARAM_SRCS = fw_entry.o prom_lex.o prom_parse.tab.o fwparam_ppc.o fwparam_sysfs.o
|
|
||||||
|
|
||||||
# sources shared with the userspace utils, note we build these separately
|
|
||||||
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
|
|
||||||
index 7003388..c598aee 100644
|
|
||||||
--- a/libiscsi/libiscsi.c
|
|
||||||
+++ b/libiscsi/libiscsi.c
|
|
||||||
@@ -429,7 +429,7 @@ int libiscsi_node_login(struct libiscsi_context *context,
|
|
||||||
|
|
||||||
CHECK(idbm_for_each_iface(&nr_found, (void*)node->iface, login_helper,
|
|
||||||
(char *)node->name, node->tpgt,
|
|
||||||
- (char *)node->address, node->port))
|
|
||||||
+ (char *)node->address, node->port, false))
|
|
||||||
if (nr_found == 0) {
|
|
||||||
strcpy(context->error_str, "No such node");
|
|
||||||
rc = ENODEV;
|
|
||||||
@@ -615,7 +615,7 @@ int libiscsi_node_set_parameter(struct libiscsi_context *context,
|
|
||||||
|
|
||||||
CHECK(idbm_for_each_iface(&nr_found, ¶ms, idbm_node_set_param,
|
|
||||||
(char *)node->name, node->tpgt,
|
|
||||||
- (char *)node->address, node->port))
|
|
||||||
+ (char *)node->address, node->port, false))
|
|
||||||
if (nr_found == 0) {
|
|
||||||
strcpy(context->error_str, "No such node");
|
|
||||||
rc = ENODEV;
|
|
||||||
@@ -677,7 +677,7 @@ int libiscsi_node_get_parameter(struct libiscsi_context *context,
|
|
||||||
as most settings should be the same independent of the iface. */
|
|
||||||
CHECK(idbm_for_each_iface(&nr_found, context, get_parameter_helper,
|
|
||||||
(char *)node->name, node->tpgt,
|
|
||||||
- (char *)node->address, node->port))
|
|
||||||
+ (char *)node->address, node->port, false))
|
|
||||||
if (nr_found == 0) {
|
|
||||||
strcpy(context->error_str, "No such node");
|
|
||||||
rc = ENODEV;
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
|||||||
From d410fe4b6eb2347f2160b8aaab24a639de99c23c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chris Leech <cleech@redhat.com>
|
|
||||||
Date: Mon, 19 Nov 2012 17:09:24 -0800
|
|
||||||
Subject: [PATCH] remove the offload boot supported ifdef
|
|
||||||
|
|
||||||
---
|
|
||||||
usr/iface.c | 7 +------
|
|
||||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/usr/iface.c b/usr/iface.c
|
|
||||||
index 11f3d2a..65c1615 100644
|
|
||||||
--- a/usr/iface.c
|
|
||||||
+++ b/usr/iface.c
|
|
||||||
@@ -998,6 +998,7 @@ int iface_setup_from_boot_context(struct iface_rec *iface,
|
|
||||||
{
|
|
||||||
struct iscsi_transport *t = NULL;
|
|
||||||
uint32_t hostno;
|
|
||||||
+ int rc;
|
|
||||||
|
|
||||||
if (strlen(context->initiatorname))
|
|
||||||
strlcpy(iface->iname, context->initiatorname,
|
|
||||||
@@ -1011,10 +1012,7 @@ int iface_setup_from_boot_context(struct iface_rec *iface,
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
} else if (strlen(context->iface)) {
|
|
||||||
-/* this ifdef is only temp until distros and firmwares are updated */
|
|
||||||
-#ifdef OFFLOAD_BOOT_SUPPORTED
|
|
||||||
char transport_name[ISCSI_TRANSPORT_NAME_MAXLEN];
|
|
||||||
- int rc;
|
|
||||||
|
|
||||||
memset(transport_name, 0, ISCSI_TRANSPORT_NAME_MAXLEN);
|
|
||||||
/* make sure offload driver is loaded */
|
|
||||||
@@ -1040,9 +1038,6 @@ int iface_setup_from_boot_context(struct iface_rec *iface,
|
|
||||||
}
|
|
||||||
|
|
||||||
strlcpy(iface->netdev, context->iface, sizeof(iface->netdev));
|
|
||||||
-#else
|
|
||||||
- return 0;
|
|
||||||
-#endif
|
|
||||||
} else
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
|||||||
From e35261316aaa598c4146a5396745cb76571e94fe Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <rpm-build>
|
|
||||||
Date: Fri, 25 May 2018 09:39:07 -0700
|
|
||||||
Subject: [PATCH] dont install scripts
|
|
||||||
|
|
||||||
---
|
|
||||||
Makefile | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/Makefile b/Makefile
|
|
||||||
index 4ab091f..7e6b734 100644
|
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -116,7 +116,7 @@ install_systemd:
|
|
||||||
$(INSTALL) -d $(DESTDIR)$(systemddir)
|
|
||||||
$(INSTALL) -m 644 $(SYSTEMDFILES) $(DESTDIR)/$(systemddir)
|
|
||||||
|
|
||||||
-install_programs: $(PROGRAMS) $(SCRIPTS)
|
|
||||||
+install_programs: $(PROGRAMS) # $(SCRIPTS)
|
|
||||||
$(INSTALL) -d $(DESTDIR)$(sbindir)
|
|
||||||
$(INSTALL) -m 755 $^ $(DESTDIR)$(sbindir)
|
|
||||||
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -1,109 +0,0 @@
|
|||||||
From e186e959ddc2a47e7cfe1f5a8ea4d3fa8248a478 Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <rpm-build>
|
|
||||||
Date: Wed, 30 May 2018 16:08:30 -0700
|
|
||||||
Subject: [PATCH] use /var/lib/iscsi in libopeniscsiusr
|
|
||||||
|
|
||||||
---
|
|
||||||
libopeniscsiusr/idbm.h | 3 ++-
|
|
||||||
libopeniscsiusr/iface.c | 2 +-
|
|
||||||
libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h | 8 ++++----
|
|
||||||
libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h | 2 +-
|
|
||||||
libopeniscsiusr/node.h | 2 +-
|
|
||||||
5 files changed, 9 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libopeniscsiusr/idbm.h b/libopeniscsiusr/idbm.h
|
|
||||||
index cc90388..5a4d2fa 100644
|
|
||||||
--- a/libopeniscsiusr/idbm.h
|
|
||||||
+++ b/libopeniscsiusr/idbm.h
|
|
||||||
@@ -31,7 +31,8 @@
|
|
||||||
#include "libopeniscsiusr/libopeniscsiusr_common.h"
|
|
||||||
|
|
||||||
#define ISCSI_CONFIG_ROOT "/etc/iscsi/"
|
|
||||||
-#define IFACE_CONFIG_DIR ISCSI_CONFIG_ROOT"ifaces"
|
|
||||||
+#define ISCSI_VAR_LIB "/var/lib/iscsi/"
|
|
||||||
+#define IFACE_CONFIG_DIR ISCSI_VAR_LIB"ifaces"
|
|
||||||
#define AUTH_STR_MAX_LEN 256
|
|
||||||
#define BOOT_NAME_MAXLEN 256
|
|
||||||
#define IDBM_DUMP_SIZE 8192
|
|
||||||
diff --git a/libopeniscsiusr/iface.c b/libopeniscsiusr/iface.c
|
|
||||||
index e7938a5..99ab7b5 100644
|
|
||||||
--- a/libopeniscsiusr/iface.c
|
|
||||||
+++ b/libopeniscsiusr/iface.c
|
|
||||||
@@ -381,7 +381,7 @@ int iscsi_default_iface_setup(struct iscsi_context *ctx)
|
|
||||||
|
|
||||||
_good(_iscsi_hids_get(ctx, &hids, &hid_count), rc, out);
|
|
||||||
for (i = 0; i < hid_count; ++i) {
|
|
||||||
- /* Create /etc/iscsi/ifaces/<iface_name> file if not found
|
|
||||||
+ /* Create /var/lib/iscsi/ifaces/<iface_name> file if not found
|
|
||||||
*/
|
|
||||||
_good(_iscsi_ifaces_get_from_sysfs(ctx, hids[i], &ifaces, &iface_count),
|
|
||||||
rc, out);
|
|
||||||
diff --git a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h
|
|
||||||
index 4395902..81582da 100644
|
|
||||||
--- a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h
|
|
||||||
+++ b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h
|
|
||||||
@@ -339,7 +339,7 @@ __DLL_EXPORT void iscsi_session_free(struct iscsi_session *se);
|
|
||||||
* * bnx2i
|
|
||||||
*
|
|
||||||
* It will also create configuration files for iSCSI hardware offload cards in
|
|
||||||
- * /etc/iscsi/ifaces/<iface_name>.
|
|
||||||
+ * /var/lib/iscsi/ifaces/<iface_name>.
|
|
||||||
*
|
|
||||||
* @ctx:
|
|
||||||
* Pointer of 'struct iscsi_context'.
|
|
||||||
@@ -369,7 +369,7 @@ __DLL_EXPORT int iscsi_default_iface_setup(struct iscsi_context *ctx);
|
|
||||||
* Retrieves all iSCSI interfaces. For the properties of 'struct iscsi_iface',
|
|
||||||
* please refer to the functions defined in 'libopeniscsiusr_iface.h' file.
|
|
||||||
* The returned results contains default iSCSI interfaces(iser and iscsi_tcp)
|
|
||||||
- * and iSCSI interfaces configured in "/etc/iscsi/ifaces/".
|
|
||||||
+ * and iSCSI interfaces configured in "/var/lib/iscsi/ifaces/".
|
|
||||||
* Illegal configuration file will be skipped and warned.
|
|
||||||
* To generate iSCSI interface configuration when new card installed, please
|
|
||||||
* use iscsi_default_iface_setup().
|
|
||||||
@@ -427,7 +427,7 @@ __DLL_EXPORT void iscsi_ifaces_free(struct iscsi_iface **ifaces,
|
|
||||||
* iscsi_iface_get() - Retrieve specified iSCSI interface.
|
|
||||||
*
|
|
||||||
* Retrieves specified iSCSI interfaces by reading configuration from
|
|
||||||
- * "/etc/iscsi/iface/<iface_name>".
|
|
||||||
+ * "/var/lib/iscsi/iface/<iface_name>".
|
|
||||||
* To generate iSCSI interface configuration when new card installed, please
|
|
||||||
* use iscsi_default_iface_setup().
|
|
||||||
* Illegal configuration file will be treated as error LIBISCSI_ERR_IDBM.
|
|
||||||
@@ -438,7 +438,7 @@ __DLL_EXPORT void iscsi_ifaces_free(struct iscsi_iface **ifaces,
|
|
||||||
* If this pointer is NULL, your program will be terminated by assert.
|
|
||||||
* @iface_name:
|
|
||||||
* String. Name of iSCSI interface. Also the file name of configuration
|
|
||||||
- * file "/etc/iscsi/iface/<iface_name>".
|
|
||||||
+ * file "/var/lib/iscsi/iface/<iface_name>".
|
|
||||||
* If this pointer is NULL or empty string, your program will be terminated
|
|
||||||
* by assert.
|
|
||||||
* @iface:
|
|
||||||
diff --git a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h
|
|
||||||
index a1a2552..95b0160 100644
|
|
||||||
--- a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h
|
|
||||||
+++ b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h
|
|
||||||
@@ -182,7 +182,7 @@ __DLL_EXPORT const char *iscsi_iface_name_get(struct iscsi_iface *iface);
|
|
||||||
*
|
|
||||||
* Dump all configurations of specified iSCSI interface. Will skip empty
|
|
||||||
* configuration so that output string could be saved directly to
|
|
||||||
- * /etc/iscsi/ifaces/<iface_name> file.
|
|
||||||
+ * /var/lib/iscsi/ifaces/<iface_name> file.
|
|
||||||
*
|
|
||||||
* @iface:
|
|
||||||
* Pointer of 'struct iscsi_iface'.
|
|
||||||
diff --git a/libopeniscsiusr/node.h b/libopeniscsiusr/node.h
|
|
||||||
index 39e07b3..9eba7fa 100644
|
|
||||||
--- a/libopeniscsiusr/node.h
|
|
||||||
+++ b/libopeniscsiusr/node.h
|
|
||||||
@@ -44,7 +44,7 @@ struct iscsi_node {
|
|
||||||
char portal[NI_MAXHOST * 2];
|
|
||||||
};
|
|
||||||
|
|
||||||
-#define NODE_CONFIG_DIR ISCSI_CONFIG_ROOT"nodes"
|
|
||||||
+#define NODE_CONFIG_DIR ISCSI_VAR_LIB"nodes"
|
|
||||||
|
|
||||||
/* Might be public in the future */
|
|
||||||
__DLL_LOCAL void iscsi_node_free(struct iscsi_node *node);
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
|||||||
From 8bcaf32662ff762c2cab3d4b1f96c38965304e30 Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <rpm-build>
|
|
||||||
Date: Wed, 16 Oct 2019 23:17:20 -0700
|
|
||||||
Subject: [PATCH 1/1] fix upstream build breakage of iscsiuio LDFLAGS
|
|
||||||
|
|
||||||
---
|
|
||||||
iscsiuio/configure.ac | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/iscsiuio/configure.ac b/iscsiuio/configure.ac
|
|
||||||
index 9b85448..1b9fb27 100644
|
|
||||||
--- a/iscsiuio/configure.ac
|
|
||||||
+++ b/iscsiuio/configure.ac
|
|
||||||
@@ -72,7 +72,7 @@ AC_ARG_WITH([systemd],
|
|
||||||
*) AC_MSG_ERROR([bad value $withval for --with-systemd]) ;;
|
|
||||||
esac],[with_libsystemd=auto])
|
|
||||||
AS_IF([test "$with_libsystemd" != no],[
|
|
||||||
- PKG_CHECK_MODULES([LIBSYSTEMD],[libsystemd],[LDFLAGS=$LIBSYSTEMD_LIBS],[
|
|
||||||
+ PKG_CHECK_MODULES([LIBSYSTEMD],[libsystemd],[LDFLAGS="${LDFLAGS} $LIBSYSTEMD_LIBS"],[
|
|
||||||
if test "$with_libsystemd" = yes; then
|
|
||||||
AC_MSG_ERROR([could not find libsystemd using pkg-config])
|
|
||||||
else
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
|||||||
From a7c0b325c7ce5c4bd72ddcf7022f42bd8cfc9e90 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chris Leech <cleech@redhat.com>
|
|
||||||
Date: Mon, 21 Jan 2013 15:43:36 -0800
|
|
||||||
Subject: [PATCH 1/1] use Red Hat version string to match RPM package version
|
|
||||||
|
|
||||||
---
|
|
||||||
usr/version.h | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/usr/version.h b/usr/version.h
|
|
||||||
index 3c68989..31b6f05 100644
|
|
||||||
--- a/usr/version.h
|
|
||||||
+++ b/usr/version.h
|
|
||||||
@@ -6,7 +6,7 @@
|
|
||||||
* 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.1.4"
|
|
||||||
+#define ISCSI_VERSION_STR "6.2.1.4-1"
|
|
||||||
#define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
|||||||
From 84a8601fe7b9b5337af95835aaa5aae1bfd88d95 Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <rpm-build>
|
|
||||||
Date: Tue, 11 Aug 2020 21:00:29 +0200
|
|
||||||
Subject: [PATCH] iscsi_if.h replace zero-length array with flexible-array
|
|
||||||
member
|
|
||||||
|
|
||||||
---
|
|
||||||
include/iscsi_if.h | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/include/iscsi_if.h b/include/iscsi_if.h
|
|
||||||
index 5a1c614..e8cee0d 100644
|
|
||||||
--- a/include/iscsi_if.h
|
|
||||||
+++ b/include/iscsi_if.h
|
|
||||||
@@ -337,7 +337,7 @@ enum iscsi_param_type {
|
|
||||||
struct iscsi_param_info {
|
|
||||||
uint32_t len; /* Actual length of the param value */
|
|
||||||
uint16_t param; /* iscsi param */
|
|
||||||
- uint8_t value[0]; /* length sized value follows */
|
|
||||||
+ uint8_t value[]; /* length sized value follows */
|
|
||||||
} __attribute__((__packed__));
|
|
||||||
|
|
||||||
struct iscsi_iface_param_info {
|
|
||||||
@@ -346,7 +346,7 @@ struct iscsi_iface_param_info {
|
|
||||||
uint16_t param; /* iscsi param value */
|
|
||||||
uint8_t iface_type; /* IPv4 or IPv6 */
|
|
||||||
uint8_t param_type; /* iscsi_param_type */
|
|
||||||
- uint8_t value[0]; /* length sized value follows */
|
|
||||||
+ uint8_t value[]; /* length sized value follows */
|
|
||||||
} __attribute__((__packed__));
|
|
||||||
|
|
||||||
/*
|
|
||||||
@@ -723,7 +723,7 @@ enum iscsi_flashnode_param {
|
|
||||||
struct iscsi_flashnode_param_info {
|
|
||||||
uint32_t len; /* Actual length of the param */
|
|
||||||
uint16_t param; /* iscsi param value */
|
|
||||||
- uint8_t value[0]; /* length sized value follows */
|
|
||||||
+ uint8_t value[]; /* length sized value follows */
|
|
||||||
} __attribute__((__packed__));
|
|
||||||
|
|
||||||
enum iscsi_discovery_parent_type {
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
|||||||
From af428f588f8023784c6f4b0a25d13b70fb7216ab Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <rpm-build>
|
|
||||||
Date: Tue, 3 Mar 2020 10:35:40 -0800
|
|
||||||
Subject: [PATCH] stop using Werror for now
|
|
||||||
|
|
||||||
need to work through these warning that only appear on s390x
|
|
||||||
Werror seems bad for release, makes packaging a nightmare when new
|
|
||||||
compilers come around
|
|
||||||
---
|
|
||||||
Makefile | 2 +-
|
|
||||||
usr/Makefile | 2 +-
|
|
||||||
usr/initiator.c | 2 +-
|
|
||||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/Makefile b/Makefile
|
|
||||||
index 7e6b734..0069e75 100644
|
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -7,7 +7,7 @@
|
|
||||||
DESTDIR ?=
|
|
||||||
|
|
||||||
prefix = /usr
|
|
||||||
-exec_prefix = /
|
|
||||||
+exec_prefix = /usr
|
|
||||||
sbindir = $(exec_prefix)/sbin
|
|
||||||
bindir = $(exec_prefix)/bin
|
|
||||||
mandir = $(prefix)/share/man
|
|
||||||
diff --git a/usr/Makefile b/usr/Makefile
|
|
||||||
index 885243a..1a743d1 100644
|
|
||||||
--- a/usr/Makefile
|
|
||||||
+++ b/usr/Makefile
|
|
||||||
@@ -35,7 +35,7 @@ endif
|
|
||||||
PKG_CONFIG = /usr/bin/pkg-config
|
|
||||||
|
|
||||||
CFLAGS ?= -O2 -g
|
|
||||||
-WARNFLAGS ?= -Wall -Wextra -Werror -Wstrict-prototypes -fno-common
|
|
||||||
+WARNFLAGS ?= -Wall -Wextra -Wstrict-prototypes -fno-common
|
|
||||||
CFLAGS += $(WARNFLAGS) -I../include -I. -D_GNU_SOURCE \
|
|
||||||
-I$(TOPDIR)/libopeniscsiusr -DISNS_ENABLE
|
|
||||||
CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod)
|
|
||||||
diff --git a/usr/initiator.c b/usr/initiator.c
|
|
||||||
index 684647c..a5a9d08 100644
|
|
||||||
--- a/usr/initiator.c
|
|
||||||
+++ b/usr/initiator.c
|
|
||||||
@@ -580,7 +580,7 @@ __session_conn_reopen(iscsi_conn_t *conn, queue_task_t *qtask, int do_stop,
|
|
||||||
int redirected)
|
|
||||||
{
|
|
||||||
iscsi_session_t *session = conn->session;
|
|
||||||
- uint32_t delay;
|
|
||||||
+ uint32_t delay = 0;
|
|
||||||
|
|
||||||
log_debug(1, "re-opening session %d (reopen_cnt %d)", session->id,
|
|
||||||
session->reopen_cnt);
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
|||||||
From b9bf7cea4769efa73e6de9b13a8d1833d2ac3d92 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chris Leech <cleech@redhat.com>
|
|
||||||
Date: Wed, 16 Jun 2021 09:55:06 -0700
|
|
||||||
Subject: [PATCH 1/1] iscsistart: fix null pointer deref before exit
|
|
||||||
|
|
||||||
Fixes regression caused by "open-iscsi: Clean user_param list when
|
|
||||||
process exit" Which is a shame, as not freeing a memory at process exit
|
|
||||||
doesn't really hurt anything.
|
|
||||||
|
|
||||||
Same change as "Fix iscsiadm segfault when exiting" applied to iscsiadm.
|
|
||||||
|
|
||||||
Fixes: b532ad67d495d42026165a26515c645995d23f18
|
|
||||||
Signed-off-by: Chris Leech <cleech@redhat.com>
|
|
||||||
---
|
|
||||||
usr/iscsistart.c | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/usr/iscsistart.c b/usr/iscsistart.c
|
|
||||||
index 206cd4c..7eb573e 100644
|
|
||||||
--- a/usr/iscsistart.c
|
|
||||||
+++ b/usr/iscsistart.c
|
|
||||||
@@ -361,7 +361,7 @@ int main(int argc, char *argv[])
|
|
||||||
struct boot_context *context, boot_context;
|
|
||||||
struct sigaction sa_old;
|
|
||||||
struct sigaction sa_new;
|
|
||||||
- struct user_param *param;
|
|
||||||
+ struct user_param *param, *tmp_param;
|
|
||||||
int control_fd, mgmt_ipc_fd, err;
|
|
||||||
pid_t pid;
|
|
||||||
|
|
||||||
@@ -556,7 +556,7 @@ int main(int argc, char *argv[])
|
|
||||||
mgmt_ipc_close(mgmt_ipc_fd);
|
|
||||||
free_initiator();
|
|
||||||
sysfs_cleanup();
|
|
||||||
- list_for_each_entry(param, &user_params, list) {
|
|
||||||
+ list_for_each_entry_safe(param, tmp_param, &user_params, list) {
|
|
||||||
list_del(¶m->list);
|
|
||||||
idbm_free_user_param(param);
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
|||||||
From 8b4da8007ef59bbc833fed882ddae57bbcd51f1c Mon Sep 17 00:00:00 2001
|
From 87b7c11947f6ba154271f8f70720a721d23f040e 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] libiscsi
|
Subject: [PATCH 1/1] libiscsi
|
||||||
|
|
||||||
---
|
---
|
||||||
Makefile | 2 +
|
Makefile | 2 +
|
||||||
libiscsi/Makefile | 65 +
|
libiscsi/Makefile | 77 +
|
||||||
libiscsi/libiscsi.c | 617 ++++++++
|
libiscsi/libiscsi.c | 620 ++++++++
|
||||||
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 | 719 +++++++++
|
||||||
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 +
|
||||||
@ -21,12 +21,11 @@ Subject: [PATCH] libiscsi
|
|||||||
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/discovery.c | 1 +
|
||||||
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, 3769 insertions(+), 4 deletions(-)
|
21 files changed, 3789 insertions(+), 3 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,31 +44,31 @@ Subject: [PATCH] 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 7b445a5..4ab091f 100644
|
index 09bda07..a0859b7 100644
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -65,6 +65,7 @@ user: iscsiuio/Makefile
|
@@ -66,6 +66,7 @@ user: deprecation_msg iscsiuio/Makefile
|
||||||
$(MAKE) -C usr
|
$(MAKE) $(MFLAGS) -C etc
|
||||||
$(MAKE) -C utils
|
$(MAKE) $(MFLAGS) -C iscsiuio
|
||||||
$(MAKE) -C iscsiuio
|
$(MAKE) $(MFLAGS) -C doc
|
||||||
+ $(MAKE) -C libiscsi
|
+ $(MAKE) $(MFLAGS) -C libiscsi
|
||||||
@echo
|
@echo
|
||||||
@echo "Compilation complete Output file"
|
@echo "Compilation complete Output file"
|
||||||
@echo "----------------------------------- ----------------"
|
@echo "----------------------------------- ----------------"
|
||||||
@@ -85,6 +86,7 @@ iscsiuio/configure iscsiuio/Makefile.in: iscsiuio/configure.ac iscsiuio/Makefile
|
@@ -86,6 +87,7 @@ iscsiuio/configure: iscsiuio/configure.ac iscsiuio/Makefile.am
|
||||||
force: ;
|
force: ;
|
||||||
|
|
||||||
clean:
|
clean distclean:
|
||||||
+ $(MAKE) -C libiscsi clean
|
+ $(MAKE) $(MFLAGS) -C libiscsi $@
|
||||||
$(MAKE) -C utils/sysdeps clean
|
$(MAKE) $(MFLAGS) -C sysdeps $@
|
||||||
$(MAKE) -C utils/fwparam_ibft clean
|
$(MAKE) $(MFLAGS) -C utils $@
|
||||||
$(MAKE) -C utils clean
|
$(MAKE) $(MFLAGS) -C usr $@
|
||||||
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 0000000..53f9746
|
index 0000000..7f5d371
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/Makefile
|
+++ b/libiscsi/Makefile
|
||||||
@@ -0,0 +1,65 @@
|
@@ -0,0 +1,77 @@
|
||||||
+# This Makefile will work only with GNU make.
|
+# This Makefile will work only with GNU make.
|
||||||
+
|
+
|
||||||
+ifeq ($(TOPDIR),)
|
+ifeq ($(TOPDIR),)
|
||||||
@ -80,7 +79,19 @@ index 0000000..53f9746
|
|||||||
+OPTFLAGS ?= -O2 -g
|
+OPTFLAGS ?= -O2 -g
|
||||||
+WARNFLAGS ?= -Wall -Wstrict-prototypes
|
+WARNFLAGS ?= -Wall -Wstrict-prototypes
|
||||||
+CFLAGS = $(OPTFLAGS) $(WARNFLAGS) -I../include -I../usr \
|
+CFLAGS = $(OPTFLAGS) $(WARNFLAGS) -I../include -I../usr \
|
||||||
+ -D$(OSNAME) -fPIC -D_GNU_SOURCE -fvisibility=hidden
|
+ -D$(OSNAME) -fPIC -D_GNU_SOURCE -fvisibility=hidden \
|
||||||
|
+ -I../libopeniscsiusr
|
||||||
|
+
|
||||||
|
+#CFLAGS ?= -O2 -g
|
||||||
|
+#CFLAGS += -Wall -Werror -Wextra -fvisibility=hidden -fPIC
|
||||||
|
+CFLAGS += -I../libopeniscsiusr -I../include -I../usr
|
||||||
|
+#CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod)
|
||||||
|
+CFLAGS += -DSBINDIR=\"$(SBINDIR)\"
|
||||||
|
+CFLAGS += -DISCSI_DB_ROOT=\"$(DBROOT)\"
|
||||||
|
+CFLAGS += -DISCSI_VERSION_STR=\"$(ISCSI_VERSION_STR)\"
|
||||||
|
+
|
||||||
|
+LDFLAGS = -L../libopeniscsiusr -lopeniscsiusr -lkmod -lcrypto
|
||||||
|
+
|
||||||
+LIB = libiscsi.so.0
|
+LIB = libiscsi.so.0
|
||||||
+TESTS = tests/test_discovery_sendtargets tests/test_discovery_firmware
|
+TESTS = tests/test_discovery_sendtargets tests/test_discovery_firmware
|
||||||
+TESTS += tests/test_login tests/test_logout tests/test_params
|
+TESTS += tests/test_login tests/test_logout tests/test_params
|
||||||
@ -89,13 +100,13 @@ index 0000000..53f9746
|
|||||||
+
|
+
|
||||||
+COMMON_SRCS = sysdeps.o
|
+COMMON_SRCS = sysdeps.o
|
||||||
+# sources shared between iscsid, iscsiadm and iscsistart
|
+# sources shared between iscsid, iscsiadm and iscsistart
|
||||||
+ISCSI_LIB_SRCS = netlink.o transport.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o io.o auth.o discovery.o login.o log.o md5.o sha1.o iface.o idbm.o sysfs.o iscsi_sysfs.o iscsi_net_util.o iscsid_req.o iser.o uip_mgmt_ipc.o
|
+ISCSI_LIB_SRCS = netlink.o transport.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o io.o auth.o discovery.o login.o log.o iface.o idbm.o sysfs.o iscsi_sysfs.o iscsi_net_util.o iscsid_req.o iser.o uip_mgmt_ipc.o
|
||||||
+FW_PARAM_SRCS = fw_entry.o prom_lex.o prom_parse.tab.o fwparam_ppc.o fwparam_sysfs.o
|
+FW_PARAM_SRCS = fw_entry.o prom_lex.o prom_parse.tab.o fwparam_ppc.o fwparam_sysfs.o
|
||||||
+
|
+
|
||||||
+# sources shared with the userspace utils, note we build these separately
|
+# sources shared with the userspace utils, note we build these separately
|
||||||
+# to get PIC versions.
|
+# to get PIC versions.
|
||||||
+COMMON_OBJS = $(patsubst %.o, common-objs/%.o, $(COMMON_SRCS))
|
+COMMON_OBJS = $(patsubst %.o, common-objs/%.o, $(COMMON_SRCS))
|
||||||
+USR_OBJS = $(patsubst %.o, usr-objs/%.o, $(ISCSI_LIB_SRCS) strings.o)
|
+USR_OBJS = $(patsubst %.o, usr-objs/%.o, $(ISCSI_LIB_SRCS) local_strings.o)
|
||||||
+FW_OBJS = $(patsubst %.o, fw-objs/%.o, $(FW_PARAM_SRCS))
|
+FW_OBJS = $(patsubst %.o, fw-objs/%.o, $(FW_PARAM_SRCS))
|
||||||
+
|
+
|
||||||
+# Flags for the tests
|
+# Flags for the tests
|
||||||
@ -106,7 +117,7 @@ index 0000000..53f9746
|
|||||||
+lib: $(LIB)
|
+lib: $(LIB)
|
||||||
+tests: $(TESTS)
|
+tests: $(TESTS)
|
||||||
+
|
+
|
||||||
+common-objs/%.o: ../utils/sysdeps/%.c
|
+common-objs/%.o: ../sysdeps/%.c
|
||||||
+ mkdir -p common-objs
|
+ mkdir -p common-objs
|
||||||
+ $(CC) $(CFLAGS) -c $< -o $@
|
+ $(CC) $(CFLAGS) -c $< -o $@
|
||||||
+
|
+
|
||||||
@ -114,7 +125,7 @@ index 0000000..53f9746
|
|||||||
+ mkdir -p usr-objs
|
+ mkdir -p usr-objs
|
||||||
+ $(CC) $(CFLAGS) -c $< -o $@
|
+ $(CC) $(CFLAGS) -c $< -o $@
|
||||||
+
|
+
|
||||||
+fw-objs/%.o: ../utils/fwparam_ibft/%.c
|
+fw-objs/%.o: ../usr/fwparam_ibft/%.c
|
||||||
+ mkdir -p fw-objs
|
+ mkdir -p fw-objs
|
||||||
+ $(CC) $(CFLAGS) -c $< -o $@
|
+ $(CC) $(CFLAGS) -c $< -o $@
|
||||||
+
|
+
|
||||||
@ -137,10 +148,10 @@ index 0000000..53f9746
|
|||||||
+-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 0000000..064e4b5
|
index 0000000..3e400a8
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/libiscsi.c
|
+++ b/libiscsi/libiscsi.c
|
||||||
@@ -0,0 +1,617 @@
|
@@ -0,0 +1,620 @@
|
||||||
+/*
|
+/*
|
||||||
+ * iSCSI Administration library
|
+ * iSCSI Administration library
|
||||||
+ *
|
+ *
|
||||||
@ -278,6 +289,7 @@ index 0000000..064e4b5
|
|||||||
+
|
+
|
||||||
+ /* Fill the drec struct with all needed info */
|
+ /* Fill the drec struct with all needed info */
|
||||||
+ memset(&drec, 0, sizeof drec);
|
+ memset(&drec, 0, sizeof drec);
|
||||||
|
+ drec.iscsid_req_tmo = -1;
|
||||||
+ idbm_sendtargets_defaults(&drec.u.sendtargets);
|
+ idbm_sendtargets_defaults(&drec.u.sendtargets);
|
||||||
+ drec.type = DISCOVERY_TYPE_SENDTARGETS;
|
+ drec.type = DISCOVERY_TYPE_SENDTARGETS;
|
||||||
+ strlcpy(drec.address, address, sizeof(drec.address));
|
+ strlcpy(drec.address, address, sizeof(drec.address));
|
||||||
@ -318,7 +330,8 @@ index 0000000..064e4b5
|
|||||||
+ *found_nodes = calloc(found, sizeof **found_nodes);
|
+ *found_nodes = calloc(found, sizeof **found_nodes);
|
||||||
+ if (*found_nodes == NULL) {
|
+ if (*found_nodes == NULL) {
|
||||||
+ snprintf(context->error_str,
|
+ snprintf(context->error_str,
|
||||||
+ sizeof(context->error_str), strerror(ENOMEM));
|
+ sizeof(context->error_str),
|
||||||
|
+ "%s", strerror(ENOMEM));
|
||||||
+ rc = ENOMEM;
|
+ rc = ENOMEM;
|
||||||
+ goto leave;
|
+ goto leave;
|
||||||
+ }
|
+ }
|
||||||
@ -370,6 +383,7 @@ index 0000000..064e4b5
|
|||||||
+ CHECK(iface_create_ifaces_from_boot_contexts(&ifaces, &targets));
|
+ CHECK(iface_create_ifaces_from_boot_contexts(&ifaces, &targets));
|
||||||
+
|
+
|
||||||
+ memset(&drec, 0, sizeof(drec));
|
+ memset(&drec, 0, sizeof(drec));
|
||||||
|
+ drec.iscsid_req_tmo = -1;
|
||||||
+ drec.type = DISCOVERY_TYPE_FW;
|
+ drec.type = DISCOVERY_TYPE_FW;
|
||||||
+ rc = idbm_bind_ifaces_to_nodes(discovery_fw, &drec, &ifaces, &rec_list);
|
+ rc = idbm_bind_ifaces_to_nodes(discovery_fw, &drec, &ifaces, &rec_list);
|
||||||
+ if (rc) {
|
+ if (rc) {
|
||||||
@ -568,7 +582,7 @@ index 0000000..064e4b5
|
|||||||
+
|
+
|
||||||
+ CHECK(idbm_for_each_iface(&nr_found, (void*)node->iface, login_helper,
|
+ CHECK(idbm_for_each_iface(&nr_found, (void*)node->iface, login_helper,
|
||||||
+ (char *)node->name, node->tpgt,
|
+ (char *)node->name, node->tpgt,
|
||||||
+ (char *)node->address, node->port))
|
+ (char *)node->address, node->port, false))
|
||||||
+ if (nr_found == 0) {
|
+ if (nr_found == 0) {
|
||||||
+ strcpy(context->error_str, "No such node");
|
+ strcpy(context->error_str, "No such node");
|
||||||
+ rc = ENODEV;
|
+ rc = ENODEV;
|
||||||
@ -630,7 +644,7 @@ index 0000000..064e4b5
|
|||||||
+
|
+
|
||||||
+ CHECK(idbm_for_each_iface(&nr_found, ¶ms, idbm_node_set_param,
|
+ CHECK(idbm_for_each_iface(&nr_found, ¶ms, idbm_node_set_param,
|
||||||
+ (char *)node->name, node->tpgt,
|
+ (char *)node->name, node->tpgt,
|
||||||
+ (char *)node->address, node->port))
|
+ (char *)node->address, node->port, false))
|
||||||
+ if (nr_found == 0) {
|
+ if (nr_found == 0) {
|
||||||
+ strcpy(context->error_str, "No such node");
|
+ strcpy(context->error_str, "No such node");
|
||||||
+ rc = ENODEV;
|
+ rc = ENODEV;
|
||||||
@ -650,7 +664,7 @@ index 0000000..064e4b5
|
|||||||
+ info = idbm_recinfo_alloc(MAX_KEYS);
|
+ info = idbm_recinfo_alloc(MAX_KEYS);
|
||||||
+ if (!info) {
|
+ if (!info) {
|
||||||
+ snprintf(context->error_str, sizeof(context->error_str),
|
+ snprintf(context->error_str, sizeof(context->error_str),
|
||||||
+ strerror(ENOMEM));
|
+ "%s", strerror(ENOMEM));
|
||||||
+ return ENOMEM;
|
+ return ENOMEM;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@ -692,7 +706,7 @@ index 0000000..064e4b5
|
|||||||
+ as most settings should be the same independent of the iface. */
|
+ as most settings should be the same independent of the iface. */
|
||||||
+ CHECK(idbm_for_each_iface(&nr_found, context, get_parameter_helper,
|
+ CHECK(idbm_for_each_iface(&nr_found, context, get_parameter_helper,
|
||||||
+ (char *)node->name, node->tpgt,
|
+ (char *)node->name, node->tpgt,
|
||||||
+ (char *)node->address, node->port))
|
+ (char *)node->address, node->port, false))
|
||||||
+ if (nr_found == 0) {
|
+ if (nr_found == 0) {
|
||||||
+ strcpy(context->error_str, "No such node");
|
+ strcpy(context->error_str, "No such node");
|
||||||
+ rc = ENODEV;
|
+ rc = ENODEV;
|
||||||
@ -2601,10 +2615,10 @@ index 0000000..1e0c6c4
|
|||||||
+</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 0000000..8800853
|
index 0000000..40b5955
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libiscsi/pylibiscsi.c
|
+++ b/libiscsi/pylibiscsi.c
|
||||||
@@ -0,0 +1,709 @@
|
@@ -0,0 +1,719 @@
|
||||||
+/*
|
+/*
|
||||||
+ * iSCSI Administration library
|
+ * iSCSI Administration library
|
||||||
+ *
|
+ *
|
||||||
@ -2971,8 +2985,13 @@ index 0000000..8800853
|
|||||||
+static PyObject *PyIscsiNode_login(PyObject *self)
|
+static PyObject *PyIscsiNode_login(PyObject *self)
|
||||||
+{
|
+{
|
||||||
+ PyIscsiNode *node = (PyIscsiNode *)self;
|
+ PyIscsiNode *node = (PyIscsiNode *)self;
|
||||||
|
+ int ret;
|
||||||
+
|
+
|
||||||
+ if (libiscsi_node_login(context, &node->node)) {
|
+ Py_BEGIN_ALLOW_THREADS
|
||||||
|
+ ret = libiscsi_node_login(context, &node->node);
|
||||||
|
+ Py_END_ALLOW_THREADS
|
||||||
|
+
|
||||||
|
+ if (ret) {
|
||||||
+ PyErr_SetString(PyExc_IOError,
|
+ PyErr_SetString(PyExc_IOError,
|
||||||
+ libiscsi_get_error_string(context));
|
+ libiscsi_get_error_string(context));
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
@ -3158,6 +3177,7 @@ index 0000000..8800853
|
|||||||
+ const struct libiscsi_auth_info *authinfo = NULL;
|
+ const struct libiscsi_auth_info *authinfo = NULL;
|
||||||
+ struct libiscsi_node *found_nodes;
|
+ struct libiscsi_node *found_nodes;
|
||||||
+ PyObject* found_node_list;
|
+ PyObject* found_node_list;
|
||||||
|
+ int ret;
|
||||||
+
|
+
|
||||||
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "s|iO",
|
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "s|iO",
|
||||||
+ kwlist, &address, &port,
|
+ kwlist, &address, &port,
|
||||||
@ -3177,8 +3197,12 @@ index 0000000..8800853
|
|||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ if (libiscsi_discover_sendtargets(context, address, port, authinfo,
|
+ Py_BEGIN_ALLOW_THREADS
|
||||||
+ &nr_found, &found_nodes)) {
|
+ ret = libiscsi_discover_sendtargets(context, address, port, authinfo,
|
||||||
|
+ &nr_found, &found_nodes);
|
||||||
|
+ Py_END_ALLOW_THREADS
|
||||||
|
+
|
||||||
|
+ if (ret) {
|
||||||
+ PyErr_SetString(PyExc_IOError,
|
+ PyErr_SetString(PyExc_IOError,
|
||||||
+ libiscsi_get_error_string(context));
|
+ libiscsi_get_error_string(context));
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
@ -3913,21 +3937,8 @@ index 0000000..a21f888
|
|||||||
+
|
+
|
||||||
+ return rc;
|
+ return rc;
|
||||||
+}
|
+}
|
||||||
diff --git a/usr/Makefile b/usr/Makefile
|
|
||||||
index 21bb154..885243a 100644
|
|
||||||
--- a/usr/Makefile
|
|
||||||
+++ b/usr/Makefile
|
|
||||||
@@ -37,7 +37,7 @@ PKG_CONFIG = /usr/bin/pkg-config
|
|
||||||
CFLAGS ?= -O2 -g
|
|
||||||
WARNFLAGS ?= -Wall -Wextra -Werror -Wstrict-prototypes -fno-common
|
|
||||||
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
|
|
||||||
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 7dec696..2cf1838 100644
|
index 792abcf..ed4dc73 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 @@
|
||||||
@ -3938,40 +3949,11 @@ index 7dec696..2cf1838 100644
|
|||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "idbm.h"
|
#include "idbm.h"
|
||||||
#include "iscsi_settings.h"
|
#include "iscsi_settings.h"
|
||||||
@@ -49,10 +50,12 @@
|
|
||||||
#include "iface.h"
|
|
||||||
#include "iscsi_timer.h"
|
|
||||||
#include "iscsi_err.h"
|
|
||||||
+#ifdef ISNS_ENABLE
|
|
||||||
/* libisns includes */
|
|
||||||
#include <libisns/isns.h>
|
|
||||||
#include <libisns/paths.h>
|
|
||||||
#include <libisns/message.h>
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#ifdef SLP_ENABLE
|
|
||||||
#include "iscsi-slp-discovery.h"
|
|
||||||
@@ -98,6 +101,7 @@ static int request_initiator_name(int tmo)
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifdef ISNS_ENABLE
|
|
||||||
void discovery_isns_free_servername(void)
|
|
||||||
{
|
|
||||||
if (isns_config.ic_server_name)
|
|
||||||
@@ -377,6 +381,7 @@ retry:
|
|
||||||
discovery_isns_free_servername();
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
int discovery_fw(void *data,
|
|
||||||
__attribute__((unused))struct iface_rec *iface,
|
|
||||||
diff --git a/usr/idbm.c b/usr/idbm.c
|
diff --git a/usr/idbm.c b/usr/idbm.c
|
||||||
index 27cad0a..2498a03 100644
|
index 32e99bc..b730d1c 100644
|
||||||
--- a/usr/idbm.c
|
--- a/usr/idbm.c
|
||||||
+++ b/usr/idbm.c
|
+++ b/usr/idbm.c
|
||||||
@@ -1825,9 +1825,9 @@ int idbm_print_all_discovery(int info_level)
|
@@ -1829,9 +1829,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,10 +3967,10 @@ index 27cad0a..2498a03 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 ce098b7..d1a7f63 100644
|
index 7b1b271..52428ad 100644
|
||||||
--- a/usr/idbm.h
|
--- a/usr/idbm.h
|
||||||
+++ b/usr/idbm.h
|
+++ b/usr/idbm.h
|
||||||
@@ -105,6 +105,9 @@ struct rec_op_data {
|
@@ -102,6 +102,9 @@ struct rec_op_data {
|
||||||
node_rec_t *match_rec;
|
node_rec_t *match_rec;
|
||||||
idbm_iface_op_fn *fn;
|
idbm_iface_op_fn *fn;
|
||||||
};
|
};
|
||||||
@ -3999,10 +3981,10 @@ index ce098b7..d1a7f63 100644
|
|||||||
char *targetname, bool ruw_lock);
|
char *targetname, bool ruw_lock);
|
||||||
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 47857dd..596543b 100644
|
index c3c9917..73a8865 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 {
|
@@ -175,4 +175,6 @@ struct iscsi_ipc {
|
||||||
char *host_stats);
|
char *host_stats);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4010,5 +3992,5 @@ index 47857dd..596543b 100644
|
|||||||
+
|
+
|
||||||
#endif /* ISCSI_IPC_H */
|
#endif /* ISCSI_IPC_H */
|
||||||
--
|
--
|
||||||
2.26.2
|
2.40.1
|
||||||
|
|
@ -0,0 +1,40 @@
|
|||||||
|
From 47dd191ab5c48932df4c0c219fca19fcedba6cd2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: rpm-build <rpm-build>
|
||||||
|
Date: Thu, 2 Jun 2022 11:37:20 -0700
|
||||||
|
Subject: [PATCH 1/1] fix libiscsi firmware discovery issue with NULL drec
|
||||||
|
argument
|
||||||
|
|
||||||
|
---
|
||||||
|
libiscsi/libiscsi.c | 2 +-
|
||||||
|
usr/idbm.c | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
|
||||||
|
index c598aee..bddf9fc 100644
|
||||||
|
--- a/libiscsi/libiscsi.c
|
||||||
|
+++ b/libiscsi/libiscsi.c
|
||||||
|
@@ -258,7 +258,7 @@ int libiscsi_discover_firmware(struct libiscsi_context *context,
|
||||||
|
struct libiscsi_node *new_node = new_nodes;
|
||||||
|
/* in one loop, add nodes to idbm and create libiscsi_node entries */
|
||||||
|
list_for_each_entry(rec, &rec_list, list) {
|
||||||
|
- CHECK(idbm_add_node(rec, NULL, 1 /* overwrite */));
|
||||||
|
+ CHECK(idbm_add_node(rec, &drec, 1 /* overwrite */));
|
||||||
|
|
||||||
|
strlcpy(new_node->name, rec->name, LIBISCSI_VALUE_MAXLEN);
|
||||||
|
new_node->tpgt = rec->tpgt;
|
||||||
|
diff --git a/usr/idbm.c b/usr/idbm.c
|
||||||
|
index e9025bf..9cc9c40 100644
|
||||||
|
--- a/usr/idbm.c
|
||||||
|
+++ b/usr/idbm.c
|
||||||
|
@@ -2536,7 +2536,7 @@ int idbm_add_node(node_rec_t *newrec, discovery_rec_t *drec, int overwrite)
|
||||||
|
if (rc)
|
||||||
|
goto unlock;
|
||||||
|
|
||||||
|
- if (drec->type == DISCOVERY_TYPE_FW) {
|
||||||
|
+ if (drec && drec->type == DISCOVERY_TYPE_FW) {
|
||||||
|
log_debug(8, "setting firmware node 'startup' to 'onboot'");
|
||||||
|
newrec->startup = ISCSI_STARTUP_ONBOOT;
|
||||||
|
newrec->conn[0].startup = ISCSI_STARTUP_ONBOOT;
|
||||||
|
--
|
||||||
|
2.36.1
|
||||||
|
|
96
SOURCES/0104-libiscsi-build-fixes.patch
Normal file
96
SOURCES/0104-libiscsi-build-fixes.patch
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
From d6344267de82b7ef38e2834522a8782579b77d42 Mon Sep 17 00:00:00 2001
|
||||||
|
From: rpm-build <rpm-build>
|
||||||
|
Date: Fri, 30 Jun 2023 22:19:23 +0000
|
||||||
|
Subject: [PATCH 104/104] libiscsi build fixes
|
||||||
|
|
||||||
|
---
|
||||||
|
Makefile | 4 ++++
|
||||||
|
libiscsi/Makefile | 27 +++++++++++++++------------
|
||||||
|
2 files changed, 19 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index a537516..3fe76df 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -58,6 +58,10 @@ deprecation_msg:
|
||||||
|
@echo "*** Please see the README file for more information."
|
||||||
|
@echo "***"
|
||||||
|
|
||||||
|
+.PHONY: libiscsi
|
||||||
|
+libiscsi:
|
||||||
|
+ $(MAKE) $(MFLAGS) -C libiscsi
|
||||||
|
+
|
||||||
|
user: deprecation_msg iscsiuio/Makefile
|
||||||
|
$(MAKE) $(MFLAGS) -C libopeniscsiusr
|
||||||
|
$(MAKE) $(MFLAGS) -C sysdeps
|
||||||
|
diff --git a/libiscsi/Makefile b/libiscsi/Makefile
|
||||||
|
index 7f5d371..9f7b034 100644
|
||||||
|
--- a/libiscsi/Makefile
|
||||||
|
+++ b/libiscsi/Makefile
|
||||||
|
@@ -5,21 +5,22 @@ ifeq ($(TOPDIR),)
|
||||||
|
endif
|
||||||
|
|
||||||
|
OSNAME=$(shell uname -s)
|
||||||
|
-OPTFLAGS ?= -O2 -g
|
||||||
|
-WARNFLAGS ?= -Wall -Wstrict-prototypes
|
||||||
|
-CFLAGS = $(OPTFLAGS) $(WARNFLAGS) -I../include -I../usr \
|
||||||
|
- -D$(OSNAME) -fPIC -D_GNU_SOURCE -fvisibility=hidden \
|
||||||
|
+# OPTFLAGS ?= -O2 -g
|
||||||
|
+# WARNFLAGS ?= -Wall -Wstrict-prototypes
|
||||||
|
+CFLAGS ?= -O2 -g -Wall
|
||||||
|
+CFLAGS += $(OPTFLAGS) $(WARNFLAGS) -I../include -I../usr \
|
||||||
|
+ -D$(OSNAME) -D_GNU_SOURCE -fvisibility=hidden \
|
||||||
|
-I../libopeniscsiusr
|
||||||
|
|
||||||
|
-#CFLAGS ?= -O2 -g
|
||||||
|
#CFLAGS += -Wall -Werror -Wextra -fvisibility=hidden -fPIC
|
||||||
|
-CFLAGS += -I../libopeniscsiusr -I../include -I../usr
|
||||||
|
+#CFLAGS += -I../libopeniscsiusr -I../include -I../usr
|
||||||
|
#CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod)
|
||||||
|
CFLAGS += -DSBINDIR=\"$(SBINDIR)\"
|
||||||
|
CFLAGS += -DISCSI_DB_ROOT=\"$(DBROOT)\"
|
||||||
|
CFLAGS += -DISCSI_VERSION_STR=\"$(ISCSI_VERSION_STR)\"
|
||||||
|
|
||||||
|
-LDFLAGS = -L../libopeniscsiusr -lopeniscsiusr -lkmod -lcrypto
|
||||||
|
+CFLAGS += -L../redhat-linux-build
|
||||||
|
+LDLIBS += -lopeniscsiusr -lkmod -lcrypto
|
||||||
|
|
||||||
|
LIB = libiscsi.so.0
|
||||||
|
TESTS = tests/test_discovery_sendtargets tests/test_discovery_firmware
|
||||||
|
@@ -39,7 +40,7 @@ USR_OBJS = $(patsubst %.o, usr-objs/%.o, $(ISCSI_LIB_SRCS) local_strings.o)
|
||||||
|
FW_OBJS = $(patsubst %.o, fw-objs/%.o, $(FW_PARAM_SRCS))
|
||||||
|
|
||||||
|
# Flags for the tests
|
||||||
|
-tests/% : CFLAGS = $(OPTFLAGS) $(WARNFLAGS) -I.
|
||||||
|
+tests/% : CFLAGS += -I.
|
||||||
|
|
||||||
|
all: lib tests html
|
||||||
|
|
||||||
|
@@ -48,18 +49,20 @@ tests: $(TESTS)
|
||||||
|
|
||||||
|
common-objs/%.o: ../sysdeps/%.c
|
||||||
|
mkdir -p common-objs
|
||||||
|
- $(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
+ $(CC) $(CFLAGS) -c $< -o $@ $(LDFLAGS) $(LDLIBS)
|
||||||
|
|
||||||
|
usr-objs/%.o: ../usr/%.c
|
||||||
|
mkdir -p usr-objs
|
||||||
|
- $(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
+ $(CC) $(CFLAGS) -c $< -o $@ $(LDFLAGS) $(LDLIBS)
|
||||||
|
|
||||||
|
fw-objs/%.o: ../usr/fwparam_ibft/%.c
|
||||||
|
mkdir -p fw-objs
|
||||||
|
- $(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
+ $(CC) $(CFLAGS) -c $< -o $@ $(LDFLAGS) $(LDLIBS)
|
||||||
|
+
|
||||||
|
+$(LIB): CFLAGS += -fPIC
|
||||||
|
|
||||||
|
$(LIB): $(COMMON_OBJS) $(FW_OBJS) $(USR_OBJS) libiscsi.o
|
||||||
|
- $(CC) $(CFLAGS) -shared -Wl,-soname,$(LIB) $^ -o $@ -L$(TOPDIR)/libopeniscsiusr -lopeniscsiusr
|
||||||
|
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$(LIB) $^ -o $@ $(LDFLAGS) $(LDLIBS)
|
||||||
|
ln -s -f $(LIB) libiscsi.so
|
||||||
|
|
||||||
|
$(TESTS): $(FW_OBJS) $(COMMON_OBJS) $(USR_OBJS) $(LIB)
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
@ -1,51 +1,44 @@
|
|||||||
%global open_iscsi_version 2.1
|
%global open_iscsi_version 2.1
|
||||||
%global open_iscsi_build 4
|
%global open_iscsi_build 9
|
||||||
%global commit0 095f59ca464220eae285de6b5f2ee31185a6a84c
|
%global commit0 a65a472a35b436c7a2d47c5862aae530ac4ae9c8
|
||||||
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
|
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
|
||||||
|
|
||||||
%if 0%{?rhel} > 7
|
|
||||||
# Disable python2 build by default
|
# Disable python2 build by default
|
||||||
%bcond_with python2
|
%bcond python2 0
|
||||||
%else
|
%bcond python3 1
|
||||||
%bcond_without python2
|
|
||||||
%endif
|
|
||||||
|
|
||||||
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: 8.git%{shortcommit0}%{?dist}
|
Release: 1.git%{shortcommit0}%{?dist}
|
||||||
Group: System Environment/Daemons
|
License: GPL-2.0-or-later
|
||||||
License: GPLv2+
|
URL: https://github.com/open-iscsi/open-iscsi
|
||||||
URL: http://www.open-iscsi.org
|
|
||||||
Source0: https://github.com/open-iscsi/open-iscsi/archive/%{commit0}.tar.gz#/open-iscsi-%{shortcommit0}.tar.gz
|
Source0: https://github.com/open-iscsi/open-iscsi/archive/%{commit0}.tar.gz#/open-iscsi-%{shortcommit0}.tar.gz
|
||||||
Source4: 04-iscsi
|
Source4: 04-iscsi
|
||||||
Source5: iscsi-tmpfiles.conf
|
Source5: iscsi-tmpfiles.conf
|
||||||
|
|
||||||
Patch0001: 0001-unit-file-tweaks.patch
|
Patch01: 0001-meson-don-t-hide-things-with-Wno-all.patch
|
||||||
Patch0002: 0002-idmb_rec_write-check-for-tpgt-first.patch
|
|
||||||
Patch0003: 0003-idbm_rec_write-seperate-old-and-new-style-writes.patch
|
|
||||||
Patch0004: 0004-idbw_rec_write-pick-tpgt-from-existing-record.patch
|
|
||||||
Patch0005: 0005-update-initscripts-and-docs.patch
|
|
||||||
Patch0006: 0006-use-var-for-config.patch
|
|
||||||
Patch0007: 0007-use-red-hat-for-name.patch
|
|
||||||
Patch0008: 0008-libiscsi.patch
|
|
||||||
Patch0009: 0009-Add-macros-to-release-GIL-lock.patch
|
|
||||||
Patch0010: 0010-libiscsi-introduce-sessions-API.patch
|
|
||||||
Patch0011: 0011-libiscsi-fix-discovery-request-timeout-regression.patch
|
|
||||||
Patch0012: 0012-libiscsi-format-security-build-errors.patch
|
|
||||||
Patch0013: 0013-libiscsi-fix-build-to-use-libopeniscsiusr.patch
|
|
||||||
Patch0014: 0014-libiscsi-fix-build-against-latest-upstream-again.patch
|
|
||||||
Patch0015: 0015-remove-the-offload-boot-supported-ifdef.patch
|
|
||||||
Patch0016: 0016-Revert-iscsiadm-return-error-when-login-fails.patch
|
|
||||||
Patch0017: 0017-dont-install-scripts.patch
|
|
||||||
Patch0018: 0018-use-var-lib-iscsi-in-libopeniscsiusr.patch
|
|
||||||
Patch0019: 0019-Coverity-scan-fixes.patch
|
|
||||||
Patch0020: 0020-fix-upstream-build-breakage-of-iscsiuio-LDFLAGS.patch
|
|
||||||
Patch0021: 0021-use-Red-Hat-version-string-to-match-RPM-package-vers.patch
|
|
||||||
Patch0022: 0022-iscsi_if.h-replace-zero-length-array-with-flexible-a.patch
|
|
||||||
Patch0023: 0023-stop-using-Werror-for-now.patch
|
|
||||||
Patch0024: 0024-iscsistart-fix-null-pointer-deref-before-exit.patch
|
|
||||||
|
|
||||||
|
# https://github.com/open-iscsi/open-iscsi/pull/394/
|
||||||
|
Patch02: 0002-Currently-when-iscsi.service-is-installed-it-creates.patch
|
||||||
|
Patch03: 0003-Use-DBROOT-in-iscsi-starter.-Include-iscsi-starter-i.patch
|
||||||
|
Patch04: 0004-fix-systemctl-path-in-iscsi-starter.service.patch
|
||||||
|
|
||||||
|
# Fedora / Red Hat stuff, merge more of this upstream?
|
||||||
|
Patch05: 0005-improved-onboot-and-shutdown-services.patch
|
||||||
|
Patch06: 0006-iscsid.conf-Fedora-Red-Hat-defaults.patch
|
||||||
|
Patch07: 0007-Disable-Data-Digests.patch
|
||||||
|
Patch08: 0008-Revert-iscsiadm-return-error-when-login-fails.patch
|
||||||
|
Patch09: 0009-Coverity-scan-fixes.patch
|
||||||
|
Patch10: 0010-use-Red-Hat-version-string-to-match-RPM-package-vers.patch
|
||||||
|
|
||||||
|
# libiscsi, deprecated but still needed until UDisks2 is converted to libopeniscsiusr
|
||||||
|
Patch101: 0101-libiscsi.patch
|
||||||
|
Patch102: 0102-libiscsi-introduce-sessions-API.patch
|
||||||
|
Patch103: 0103-fix-libiscsi-firmware-discovery-issue-with-NULL-drec.patch
|
||||||
|
Patch104: 0104-libiscsi-build-fixes.patch
|
||||||
|
|
||||||
|
BuildRequires: meson git
|
||||||
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
|
||||||
@ -59,7 +52,7 @@ Requires(postun): systemd
|
|||||||
Conflicts: NetworkManager < 1.20
|
Conflicts: NetworkManager < 1.20
|
||||||
|
|
||||||
%global _hardened_build 1
|
%global _hardened_build 1
|
||||||
%global __provides_exclude_from ^(%{python2_sitearch}/.*\\.so|%{python3_sitearch}/.*\\.so)$
|
%global __provides_exclude_from ^(%{?python2_sitearch:%{python2_sitearch}/.*\\.so}|%{?python3_sitearch:%{python3_sitearch}/.*\\.so})$
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The iscsi package provides the server daemon for the iSCSI protocol,
|
The iscsi package provides the server daemon for the iSCSI protocol,
|
||||||
@ -67,31 +60,9 @@ as well as the utility programs used to manage it. iSCSI is a protocol
|
|||||||
for distributed disk access using SCSI commands sent over Internet
|
for distributed disk access using SCSI commands sent over Internet
|
||||||
Protocol networks.
|
Protocol networks.
|
||||||
|
|
||||||
# I don't think we're ready to expose these just yet
|
|
||||||
# For now just add the needed library to the base package
|
|
||||||
|
|
||||||
#%%package -n libopeniscsiusr
|
|
||||||
#Summary: library providing access to Open-iSCSI initiator functionality
|
|
||||||
#Group: Development/Libraries
|
|
||||||
#License: BSD
|
|
||||||
|
|
||||||
#%%description -n libopeniscsiusr
|
|
||||||
#The libopeniscsiusr library provides a C API for access to the Open-iSCSI
|
|
||||||
#initiator. It is used by the Open-iSCSI command line tools.
|
|
||||||
|
|
||||||
#%%package -n libopeniscsiusr-devel
|
|
||||||
#Summary: Development files for libopeniscsiusr
|
|
||||||
#Group: Development/Libraries
|
|
||||||
#Requires: libopeniscsiusr = %%{version}-%%{release}
|
|
||||||
|
|
||||||
#%%description -n libopeniscsiusr-devel
|
|
||||||
#The libopeniscsiusr-devel package contains libraries and header files for
|
|
||||||
#developing applications that use libopeniscsiusr.
|
|
||||||
|
|
||||||
%package iscsiuio
|
%package iscsiuio
|
||||||
Summary: Userspace configuration daemon required for some iSCSI hardware
|
Summary: Userspace configuration daemon required for some iSCSI hardware
|
||||||
Group: System Environment/Daemons
|
License: BSD-4-Clause
|
||||||
License: BSD
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
%description iscsiuio
|
%description iscsiuio
|
||||||
@ -100,7 +71,6 @@ for some iSCSI offload hardware.
|
|||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development files for %{name}
|
Summary: Development files for %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
@ -111,7 +81,6 @@ developing applications that use %{name}.
|
|||||||
%package -n python2-%{name}
|
%package -n python2-%{name}
|
||||||
%{?python_provide:%python_provide python2-%{name}}
|
%{?python_provide:%python_provide python2-%{name}}
|
||||||
Summary: Python %{python2_version} bindings to %{name}
|
Summary: Python %{python2_version} bindings to %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
BuildRequires: python2-devel
|
BuildRequires: python2-devel
|
||||||
BuildRequires: python2-setuptools
|
BuildRequires: python2-setuptools
|
||||||
@ -122,56 +91,44 @@ libiscsi interface for interacting with %{name}
|
|||||||
%endif
|
%endif
|
||||||
# ended with python2
|
# ended with python2
|
||||||
|
|
||||||
|
%if %{with python3}
|
||||||
%package -n python3-%{name}
|
%package -n python3-%{name}
|
||||||
%{?python_provide:%python_provide python3-%{name}}
|
%{?python_provide:%python_provide python3-%{name}}
|
||||||
Summary: Python %{python3_version} bindings to %{name}
|
Summary: Python %{python3_version} bindings to %{name}
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
BuildRequires: python3-setuptools
|
BuildRequires: python3-setuptools
|
||||||
|
BuildRequires: make
|
||||||
|
|
||||||
%description -n python3-%{name}
|
%description -n python3-%{name}
|
||||||
The %{name}-python3 package contains Python %{python3_version} bindings to the
|
The %{name}-python3 package contains Python %{python3_version} bindings to the
|
||||||
libiscsi interface for interacting with %{name}
|
libiscsi interface for interacting with %{name}
|
||||||
|
%endif
|
||||||
|
# ended with python3
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n open-iscsi-%{commit0}
|
%autosetup -p1 -n open-iscsi-%{commit0} -Sgit_am
|
||||||
|
|
||||||
# change exec_prefix, there's no easy way to override
|
|
||||||
%{__sed} -i -e 's|^exec_prefix = /$|exec_prefix = %{_exec_prefix}|' Makefile
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
# avoid undefined references linking failures
|
||||||
|
%undefine _ld_as_needed
|
||||||
|
|
||||||
# configure sub-packages from here
|
%meson -Diqn_prefix=iqn.1994-05.com.redhat
|
||||||
# letting the top level Makefile do it will lose setting from rpm
|
%meson_build
|
||||||
cd iscsiuio
|
|
||||||
autoreconf --install
|
|
||||||
%{configure}
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
%{__make} OPTFLAGS="%{optflags} %{?__global_ldflags}"
|
%make_build LDFLAGS="%{build_ldflags}" iqn_prefix=iqn.1994-05.com.redhat DBROOT=/var/lib/iscsi libiscsi
|
||||||
pushd libiscsi
|
pushd libiscsi
|
||||||
%if %{with python2}
|
%if %{with python2}
|
||||||
%py2_build
|
%py2_build
|
||||||
|
%endif
|
||||||
|
%if %{with python3}
|
||||||
|
%py3_build
|
||||||
%endif
|
%endif
|
||||||
# ended with python2
|
|
||||||
%py3_build
|
|
||||||
touch -r libiscsi.doxy html/*
|
touch -r libiscsi.doxy html/*
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%{__make} DESTDIR=%{?buildroot} install_programs install_doc install_etc install_libopeniscsiusr
|
%meson_install
|
||||||
# upstream makefile doesn't get everything the way we like it
|
|
||||||
#rm $RPM_BUILD_ROOT%%{_sbindir}/iscsi_discovery
|
|
||||||
rm $RPM_BUILD_ROOT%{_mandir}/man8/iscsi_discovery.8
|
|
||||||
rm $RPM_BUILD_ROOT%{_mandir}/man8/iscsi_fw_login.8
|
|
||||||
%{__install} -pm 755 usr/iscsistart $RPM_BUILD_ROOT%{_sbindir}
|
|
||||||
%{__install} -pm 644 doc/iscsistart.8 $RPM_BUILD_ROOT%{_mandir}/man8
|
|
||||||
%{__install} -pm 644 doc/iscsi-iname.8 $RPM_BUILD_ROOT%{_mandir}/man8
|
|
||||||
%{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
|
|
||||||
%{__install} -pm 644 iscsiuio/iscsiuiolog $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
|
|
||||||
|
|
||||||
%{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/iscsi
|
%{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/iscsi
|
||||||
%{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/iscsi/nodes
|
%{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/iscsi/nodes
|
||||||
%{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/iscsi/send_targets
|
%{__install} -d $RPM_BUILD_ROOT%{_sharedstatedir}/iscsi/send_targets
|
||||||
@ -184,16 +141,20 @@ rm $RPM_BUILD_ROOT%{_mandir}/man8/iscsi_fw_login.8
|
|||||||
%{__install} -d $RPM_BUILD_ROOT%{_rundir}/lock/iscsi
|
%{__install} -d $RPM_BUILD_ROOT%{_rundir}/lock/iscsi
|
||||||
touch $RPM_BUILD_ROOT%{_rundir}/lock/iscsi/lock
|
touch $RPM_BUILD_ROOT%{_rundir}/lock/iscsi/lock
|
||||||
|
|
||||||
|
# upstream started installing a bunch of optional stuff from other distros
|
||||||
%{__install} -d $RPM_BUILD_ROOT%{_unitdir}
|
# maybe we can make use of these, but clean up for now
|
||||||
%{__install} -pm 644 etc/systemd/iscsi.service $RPM_BUILD_ROOT%{_unitdir}
|
rm $RPM_BUILD_ROOT/etc/iscsi/initiatorname.iscsi
|
||||||
# %%{__install} -pm 644 etc/systemd/iscsi-init.service $RPM_BUILD_ROOT%%{_unitdir}
|
rm $RPM_BUILD_ROOT/etc/udev/rules.d/50-iscsi-firmware-login.rules
|
||||||
%{__install} -pm 644 etc/systemd/iscsi-onboot.service $RPM_BUILD_ROOT%{_unitdir}
|
rm $RPM_BUILD_ROOT/usr/lib/systemd/system-generators/ibft-rule-generator
|
||||||
%{__install} -pm 644 etc/systemd/iscsi-shutdown.service $RPM_BUILD_ROOT%{_unitdir}
|
rm $RPM_BUILD_ROOT/usr/sbin/brcm_iscsiuio
|
||||||
%{__install} -pm 644 etc/systemd/iscsid.service $RPM_BUILD_ROOT%{_unitdir}
|
rm $RPM_BUILD_ROOT/usr/sbin/iscsi-gen-initiatorname
|
||||||
%{__install} -pm 644 etc/systemd/iscsid.socket $RPM_BUILD_ROOT%{_unitdir}
|
rm $RPM_BUILD_ROOT/usr/sbin/iscsi_discovery
|
||||||
%{__install} -pm 644 etc/systemd/iscsiuio.service $RPM_BUILD_ROOT%{_unitdir}
|
rm $RPM_BUILD_ROOT/usr/sbin/iscsi_fw_login
|
||||||
%{__install} -pm 644 etc/systemd/iscsiuio.socket $RPM_BUILD_ROOT%{_unitdir}
|
rm $RPM_BUILD_ROOT/usr/sbin/iscsi_offload
|
||||||
|
rm $RPM_BUILD_ROOT/usr/share/man/man8/iscsi-gen-initiatorname.8
|
||||||
|
rm $RPM_BUILD_ROOT/usr/share/man/man8/iscsi_discovery.8
|
||||||
|
rm $RPM_BUILD_ROOT/usr/share/man/man8/iscsi_fw_login.8
|
||||||
|
rm $RPM_BUILD_ROOT/var/lib/iscsi/ifaces/iface.example
|
||||||
|
|
||||||
%{__install} -d $RPM_BUILD_ROOT%{_libexecdir}
|
%{__install} -d $RPM_BUILD_ROOT%{_libexecdir}
|
||||||
%{__install} -pm 755 etc/systemd/iscsi-mark-root-nodes $RPM_BUILD_ROOT%{_libexecdir}
|
%{__install} -pm 755 etc/systemd/iscsi-mark-root-nodes $RPM_BUILD_ROOT%{_libexecdir}
|
||||||
@ -210,85 +171,39 @@ touch $RPM_BUILD_ROOT%{_rundir}/lock/iscsi/lock
|
|||||||
%{__install} -d $RPM_BUILD_ROOT%{_includedir}
|
%{__install} -d $RPM_BUILD_ROOT%{_includedir}
|
||||||
%{__install} -pm 644 libiscsi/libiscsi.h $RPM_BUILD_ROOT%{_includedir}
|
%{__install} -pm 644 libiscsi/libiscsi.h $RPM_BUILD_ROOT%{_includedir}
|
||||||
|
|
||||||
%if %{with python2}
|
|
||||||
%{__install} -d $RPM_BUILD_ROOT%{python2_sitearch}
|
|
||||||
%endif
|
|
||||||
# ended with python2
|
|
||||||
%{__install} -d $RPM_BUILD_ROOT%{python3_sitearch}
|
|
||||||
pushd libiscsi
|
pushd libiscsi
|
||||||
%if %{with python2}
|
%if %{with python2}
|
||||||
%py2_install
|
%{__install} -d $RPM_BUILD_ROOT%{python2_sitearch}
|
||||||
|
%py2_install
|
||||||
|
%endif
|
||||||
|
%if %{with python3}
|
||||||
|
%{__install} -d $RPM_BUILD_ROOT%{python3_sitearch}
|
||||||
|
%py3_install
|
||||||
%endif
|
%endif
|
||||||
# ended with python2
|
|
||||||
%py3_install
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
%systemd_post iscsi.service iscsi-starter.service iscsid.service iscsid.socket iscsi-onboot.service iscsi-init.service iscsi-shutdown.service
|
||||||
|
|
||||||
%systemd_post iscsi.service iscsi-onboot.service iscsi-shutdown.service iscsid.service iscsid.socket
|
%preun
|
||||||
|
%systemd_preun iscsi.service iscsi-starter.service iscsid.service iscsid.socket iscsi-onboot.service iscsi-init.service iscsi-shutdown.service
|
||||||
|
|
||||||
if [ $1 -eq 1 ]; then
|
%postun
|
||||||
if [ ! -f %{_sysconfdir}/iscsi/initiatorname.iscsi ]; then
|
%systemd_postun iscsi.service iscsi-starter.service iscsid.service iscsid.socket iscsi-onboot.service iscsi-init.service iscsi-shutdown.service
|
||||||
echo "InitiatorName=`/usr/sbin/iscsi-iname`" > %{_sysconfdir}/iscsi/initiatorname.iscsi
|
|
||||||
fi
|
|
||||||
# enable socket activation and persistant session startup by default
|
|
||||||
/bin/systemctl enable iscsi.service >/dev/null 2>&1 || :
|
|
||||||
/bin/systemctl enable iscsi-onboot.service >/dev/null 2>&1 || :
|
|
||||||
/bin/systemctl enable iscsid.socket >/dev/null 2>&1 || :
|
|
||||||
fi
|
|
||||||
|
|
||||||
%post iscsiuio
|
%post iscsiuio
|
||||||
%systemd_post iscsiuio.service iscsiuio.socket
|
%systemd_post iscsiuio.service iscsiuio.socket
|
||||||
|
|
||||||
if [ $1 -eq 1 ]; then
|
|
||||||
/bin/systemctl enable iscsiuio.socket >/dev/null 2>&1 || :
|
|
||||||
fi
|
|
||||||
|
|
||||||
%preun
|
|
||||||
%systemd_preun iscsi.service iscsi-onboot.service iscsi-shutdown.service iscsid.service iscsiuio.service iscsid.socket iscsiuio.socket
|
|
||||||
|
|
||||||
%preun iscsiuio
|
%preun iscsiuio
|
||||||
%systemd_preun iscsiuio.service iscsiuio.socket
|
%systemd_preun iscsiuio.service iscsiuio.socket
|
||||||
|
|
||||||
%postun
|
|
||||||
/sbin/ldconfig
|
|
||||||
%systemd_postun iscsi.service iscsi-onboot.service iscsi-shutdown.service iscsid.service iscsiuio.service iscsid.socket iscsiuio.socket
|
|
||||||
|
|
||||||
%postun iscsiuio
|
%postun iscsiuio
|
||||||
%systemd_postun iscsiuio.service iscsiuio.socket
|
%systemd_postun iscsiuio.service iscsiuio.socket
|
||||||
|
|
||||||
%triggerun -- iscsi-initiator-utils < 6.2.0.873-25
|
%triggerun -- %{name} < 6.2.1.4-8
|
||||||
# prior to 6.2.0.873-24 iscsi.service was missing a Wants=remote-fs-pre.target
|
# This is for upgrades from previous versions before iscsi-starter.service was added.
|
||||||
# this forces remote-fs-pre.target active if needed for a clean shutdown/reboot
|
systemctl --no-reload preset iscsi.service iscsi-starter.service &>/dev/null || :
|
||||||
# after upgrading this package
|
|
||||||
if [ $1 -gt 0 ]; then
|
|
||||||
/usr/bin/systemctl -q is-active iscsi.service
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
/usr/bin/systemctl -q is-active remote-fs-pre.target
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
SRC=`/usr/bin/systemctl show --property FragmentPath remote-fs-pre.target | cut -d= -f2`
|
|
||||||
DST=/run/systemd/system/remote-fs-pre.target
|
|
||||||
if [ $SRC != $DST ]; then
|
|
||||||
cp $SRC $DST
|
|
||||||
fi
|
|
||||||
sed -i 's/RefuseManualStart=yes/RefuseManualStart=no/' $DST
|
|
||||||
/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
|
||||||
/usr/bin/systemctl start remote-fs-pre.target >/dev/null 2>&1 || :
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
# added in 6.2.0.873-25
|
|
||||||
if [ $1 -gt 0 ]; then
|
|
||||||
systemctl start iscsi-shutdown.service >/dev/null 2>&1 || :
|
|
||||||
fi
|
|
||||||
|
|
||||||
%triggerpostun -- iscsi-initiator-utils < 6.2.0.878-4
|
|
||||||
# added in 6.2.0.878-0, needs to be enabled during an upgrade
|
|
||||||
if [ $1 -gt 0 ]; then
|
|
||||||
/bin/systemctl enable iscsi-onboot.service >/dev/null 2>&1 || :
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%doc README
|
%doc README
|
||||||
@ -299,11 +214,12 @@ fi
|
|||||||
%dir %{_sharedstatedir}/iscsi/slp
|
%dir %{_sharedstatedir}/iscsi/slp
|
||||||
%dir %{_sharedstatedir}/iscsi/ifaces
|
%dir %{_sharedstatedir}/iscsi/ifaces
|
||||||
%dir %{_sharedstatedir}/iscsi/send_targets
|
%dir %{_sharedstatedir}/iscsi/send_targets
|
||||||
%ghost %attr(0700, -, -) %{_rundir}/lock/iscsi
|
%ghost %dir %attr(0700, root, root) %{_rundir}/lock/iscsi
|
||||||
%ghost %attr(0600, -, -) %{_rundir}/lock/iscsi/lock
|
%ghost %attr(0600, root, root) %{_rundir}/lock/iscsi/lock
|
||||||
%{_unitdir}/iscsi.service
|
%{_unitdir}/iscsi.service
|
||||||
|
%{_unitdir}/iscsi-starter.service
|
||||||
%{_unitdir}/iscsi-onboot.service
|
%{_unitdir}/iscsi-onboot.service
|
||||||
# %%{_unitdir}/iscsi-init.service
|
%{_unitdir}/iscsi-init.service
|
||||||
%{_unitdir}/iscsi-shutdown.service
|
%{_unitdir}/iscsi-shutdown.service
|
||||||
%{_unitdir}/iscsid.service
|
%{_unitdir}/iscsid.service
|
||||||
%{_unitdir}/iscsid.socket
|
%{_unitdir}/iscsid.socket
|
||||||
@ -321,26 +237,7 @@ fi
|
|||||||
%{_mandir}/man8/iscsiadm.8.gz
|
%{_mandir}/man8/iscsiadm.8.gz
|
||||||
%{_mandir}/man8/iscsid.8.gz
|
%{_mandir}/man8/iscsid.8.gz
|
||||||
%{_mandir}/man8/iscsistart.8.gz
|
%{_mandir}/man8/iscsistart.8.gz
|
||||||
# until we decide to setup libopeniscsiusr as a subpkg for real
|
|
||||||
%{_libdir}/libopeniscsiusr.so.*
|
%{_libdir}/libopeniscsiusr.so.*
|
||||||
%exclude %{_libdir}/libopeniscsiusr.so
|
|
||||||
%exclude %{_includedir}/libopeniscsiusr.h
|
|
||||||
%exclude %{_includedir}/libopeniscsiusr_common.h
|
|
||||||
%exclude %{_includedir}/libopeniscsiusr_iface.h
|
|
||||||
%exclude %{_includedir}/libopeniscsiusr_node.h
|
|
||||||
%exclude %{_includedir}/libopeniscsiusr_session.h
|
|
||||||
%exclude %{_libdir}/pkgconfig/libopeniscsiusr.pc
|
|
||||||
|
|
||||||
# %%files -n libopeniscsiusr
|
|
||||||
# %%{_libdir}/libopeniscsiusr.so.*
|
|
||||||
#
|
|
||||||
# %%files -n libopeniscsiusr-devel
|
|
||||||
# %%{_libdir}/libopeniscsiusr.so
|
|
||||||
# %%{_includedir}/libopeniscsiusr.h
|
|
||||||
# %%{_includedir}/libopeniscsiusr_common.h
|
|
||||||
# %%{_includedir}/libopeniscsiusr_iface.h
|
|
||||||
# %%{_includedir}/libopeniscsiusr_session.h
|
|
||||||
# %%{_libdir}/pkgconfig/libopeniscsiusr.pc
|
|
||||||
|
|
||||||
%files iscsiuio
|
%files iscsiuio
|
||||||
%{_sbindir}/iscsiuio
|
%{_sbindir}/iscsiuio
|
||||||
@ -353,6 +250,14 @@ fi
|
|||||||
%doc libiscsi/html
|
%doc libiscsi/html
|
||||||
%{_libdir}/libiscsi.so
|
%{_libdir}/libiscsi.so
|
||||||
%{_includedir}/libiscsi.h
|
%{_includedir}/libiscsi.h
|
||||||
|
%{_libdir}/libopeniscsiusr.so
|
||||||
|
%{_includedir}/libopeniscsiusr.h
|
||||||
|
%{_includedir}/libopeniscsiusr_common.h
|
||||||
|
%{_includedir}/libopeniscsiusr_iface.h
|
||||||
|
%{_includedir}/libopeniscsiusr_node.h
|
||||||
|
%{_includedir}/libopeniscsiusr_session.h
|
||||||
|
%{_libdir}/pkgconfig/libopeniscsiusr.pc
|
||||||
|
%{_mandir}/man3/*
|
||||||
|
|
||||||
%if %{with python2}
|
%if %{with python2}
|
||||||
%files -n python2-%{name}
|
%files -n python2-%{name}
|
||||||
@ -360,67 +265,108 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
# ended with python2
|
# ended with python2
|
||||||
|
|
||||||
|
%if %{with python3}
|
||||||
%files -n python3-%{name}
|
%files -n python3-%{name}
|
||||||
%{python3_sitearch}/*
|
%{python3_sitearch}/*
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Jun 15 2023 Chris Leech <cleech@redhat.com> - 6.2.1.4-8.git095f59c
|
* Wed Nov 15 2023 Chris Leech <cleech@redhat.com> - 6.2.1.9-18.gita65a472
|
||||||
- fix gating test
|
- rebase to upstream 2.1.9+ with iscsiuio 0.7.8.8
|
||||||
|
- new meson build system, sync with fedora packaging
|
||||||
|
|
||||||
* Thu Jun 15 2023 Chris Leech <cleech@redhat.com> - 6.2.1.4-7.git095f59c
|
* Wed Jun 15 2022 Chris Leech <cleech@redhat.com> - 6.2.1.4-3.git2a8f9d8
|
||||||
- move tests to tmt framework
|
- 2016611 fix libiscsi regression causing udisksd faults with firmware discovery
|
||||||
|
|
||||||
* Tue Jun 13 2023 Chris Leech <cleech@redhat.com> - 6.2.1.4-6.git095f59c
|
* Mon Nov 01 2021 Chris Leech <cleech@redhat.com> - 6.2.1.4-2.git2a8f9d8
|
||||||
- restore missing gating tests
|
- 2016482: iscsi-init.service modified to work in initramfs
|
||||||
|
|
||||||
* Wed Jun 07 2023 Chris Leech <cleech@redhat.com> - 6.2.1.4-5.git095f59c
|
* Wed Aug 11 2021 Chris Leech <cleech@redhat.com> - 6.2.1.4-1.git2a8f9d8
|
||||||
- 2131090 fix idbm patch to not overwrite upstream changes in file mode
|
- new upstream
|
||||||
|
- iscsiuio fixes for newer upstream bnx2x driver having version removed
|
||||||
|
|
||||||
* Mon Aug 09 2021 Chris Leech <cleech@redhat.com> - 6.2.1.4-4.git095f59c
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 6.2.1.2-8.gita8fcb37
|
||||||
- 1755907 set proper attr in rpm db for lockfiles, fixes rpm verificiation warning
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
* Wed Jun 16 2021 Chris Leech <cleech@redhat.com> - 6.2.1.4-3.git095f59c
|
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 6.2.1.2-7.gita8fcb37
|
||||||
- coverity found a use-after-free regression in iscsistart
|
- Rebuilt for RHEL 9 BETA for openssl 3.0
|
||||||
|
Related: rhbz#1971065
|
||||||
|
|
||||||
* Mon Jun 14 2021 Chris Leech <cleech@redhat.com> - 6.2.1.4-2.git095f59c
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 6.2.1.2-6.gita8fcb37
|
||||||
- 1924768 fix unit files for el8, not using iscsi-init
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
|
||||||
* Fri Mar 12 2021 Chris Leech <cleech@redhat.com> - 6.2.1.2-1.gita8fcb37
|
* Thu Feb 18 2021 Chris Leech <cleech@redhat.com> - 6.2.1.2-5.gita8fcb37
|
||||||
- 1924768 iscsiadm -m sessions fails when racing against session login/logout
|
- unit file changes
|
||||||
|
|
||||||
* Thu Aug 20 2020 Chris Leech - 6.2.0.878-5.gitd791ce0
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.1.2-4.gita8fcb37
|
||||||
- 1849931, 1869438 go back to MD5 CHAP only by default
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
new CHAP modes can cause issue with some targets,
|
|
||||||
so SHA1/SHA256/SHA3-256 modes must be configured to enable now
|
|
||||||
|
|
||||||
* Tue Mar 24 2020 Chris Leech <cleech@redhat.com> - 6.2.0.878-3.gitd791ce0
|
* Thu Nov 05 2020 Chris Leech <cleech@redhat.com> - 6.2.1.2-3.gita8fcb37
|
||||||
- 1801577 new service file not enabled on upgrade, spec change to use triggers for that
|
- add libopeniscsiusr content to iscsi-initiator-utils-devel
|
||||||
|
|
||||||
* Mon Feb 17 2020 Chris Leech <cleech@redhat.com> - 6.2.0.878-3.gitd791ce0
|
* Mon Sep 21 2020 Chris Leech <cleech@redhat.com> - 6.2.1.2-1.git13e7f58
|
||||||
- 1801577 missing spec file changes from 6.2.0.878-0 causing iSCSI boot regression
|
- iscsiadm overflow regression when discovering many targets at once
|
||||||
|
- check for invalid session id during stop connection
|
||||||
|
- add ability to attempt target logins asynchronously
|
||||||
|
|
||||||
* Mon Jan 20 2020 Chris Leech <cleech@redhat.com> - 6.2.0.878-2.gitd791ce0
|
* Tue Aug 11 2020 Christian Glombek <cglombek@redhat.com> - 6.2.1.2-0.git802688d
|
||||||
- 1786015 fix IPv6 discovery regression in iscsiuio
|
- Update to upstream v2.1.2
|
||||||
|
- Remove systemctl enable calls, as this is now handled by Fedora presets
|
||||||
|
- per the guidelines
|
||||||
|
- Remove initiator name generation, as this is now handled by an init service
|
||||||
|
- Install ghost lockfile and dir to /run instead of /var
|
||||||
|
- Rebased/fixed up patches
|
||||||
|
- Fixed macros in comments and comments after macros
|
||||||
|
- Merged service-file-tweaks.patch and
|
||||||
|
- improve-systemd-service-files-for-boot-session-handl.patch
|
||||||
|
- into unit-file-tweaks.patch
|
||||||
|
- Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1493296
|
||||||
|
- Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1729740
|
||||||
|
- Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1834509
|
||||||
|
|
||||||
* Wed Jan 08 2020 Chris Leech <cleech@redhat.com> - 6.2.0.878-1.gitd791ce0
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.1.1-0.gitac87641.2
|
||||||
- 1788233 added node.session.auth.chap_algs configuration setting
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
* Thu Nov 07 2019 Chris Leech <cleech@redhat.com> - 6.2.0.878-0.gitd791ce0
|
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 6.2.1.1-0.gitac87641.1
|
||||||
- 1761940 iSCSI CHAP authentication not function with FIPS enabled
|
- Rebuilt for Python 3.9
|
||||||
- Service file improvements forward ported from RHEL 7.8
|
|
||||||
- various static analysis fixes from upstream
|
|
||||||
|
|
||||||
* Wed Jun 05 2019 Chris Leech <cleech@redhat.com> - 6.2.0.877-1.gitf71581b
|
* Mon Mar 02 2020 Chris Leech <cleech@redhat.com> - 6.2.1.1-0.gitac87641
|
||||||
- fix Covscan reported issues from upstream patches
|
- rebase to new upstream v2.1.1
|
||||||
|
- enhanced CHAP options are now a configuration to deal with broken targets (#1774746)
|
||||||
|
|
||||||
* Tue Jun 04 2019 Chris Leech <cleech@redhat.com> - 6.2.0.877-0.gitf71581b
|
* Sun Mar 01 2020 Adam Williamson <awilliam@redhat.com> - 6.2.1.0-2.git4440e57
|
||||||
- 1665317 update to latest upstream for iscsiuio enhancements
|
- Backport upstream d3daa7a2 to fix bz #1774746
|
||||||
|
|
||||||
* Thu Feb 21 2019 Chris Leech <cleech@redhat.com> - 6.2.0.876-7.gitf3c8e90
|
* Mon Feb 24 2020 Than Ngo <than@redhat.com> - 6.2.1.0-1.git4440e57
|
||||||
- 1647826: fix sysfs and output format regressions in libopeniscsi code
|
- upstream patch to support gcc -fno-common option
|
||||||
|
|
||||||
* Thu Jan 03 2019 Chris Leech <cleech@redhat.com> - 6.2.0.876-6.gitf3c8e90
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.1.0-0.git4440e57.1
|
||||||
- 1650402: fix missing space in node display output
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Nov 19 2019 Chris Leech <cleech@redhat.com> - 6.2.1.0-0.git4440e57
|
||||||
|
- update to upstream v2.1.0
|
||||||
|
|
||||||
|
* Thu Aug 22 2019 Lubomir Rintel <lkundrak@v3.sk> - 6.2.0.876-12.gitf3c8e90
|
||||||
|
- Move the NetworkManager dispatcher script out of /etc
|
||||||
|
|
||||||
|
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 6.2.0.876-11.gitf3c8e90
|
||||||
|
- Rebuilt for Python 3.8
|
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.0.876-10.gitf3c8e90
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu May 30 2019 Chris Leech <cleech@redhat.com> - 6.2.0.876-9.gitf3c8e90
|
||||||
|
- FTBFS: %%systemd_postun scriptlets need service files as an argument
|
||||||
|
|
||||||
|
* Tue Feb 12 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 6.2.0.876-8.gitf3c8e90
|
||||||
|
- Remove obsolete scriptlets
|
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.0.876-7.gitf3c8e90
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 10 2019 Miro Hrončok <mhroncok@redhat.com> - 6.2.0.876-6.gitf3c8e90
|
||||||
|
- Disable python2 build
|
||||||
|
|
||||||
* Tue Jul 10 2018 Chris Leech <cleech@redhat.com> - 6.2.0.876-5.gitf3c8e90
|
* Tue Jul 10 2018 Chris Leech <cleech@redhat.com> - 6.2.0.876-5.gitf3c8e90
|
||||||
- iscsiuio: add mutex to protect netlink buffer for pass-through xmit
|
- iscsiuio: add mutex to protect netlink buffer for pass-through xmit
|
||||||
@ -439,6 +385,7 @@ fi
|
|||||||
* Tue Jun 19 2018 Chris Leech <cleech@redhat.com> - 6.2.0.876-1.git4ef9261
|
* Tue Jun 19 2018 Chris Leech <cleech@redhat.com> - 6.2.0.876-1.git4ef9261
|
||||||
- pull in post 2.0.876 tagged fixes from upstream git
|
- pull in post 2.0.876 tagged fixes from upstream git
|
||||||
- minimal packaging of libopeniscsiusr (internal use only, no dev package yet)
|
- minimal packaging of libopeniscsiusr (internal use only, no dev package yet)
|
||||||
|
- Conditionalize the python2 subpackage [Charalampos Stratakis <cstratak@redhat.com>]
|
||||||
|
|
||||||
* Tue Jun 19 2018 Chris Leech <cleech@redhat.com> - 6.2.0.876-1.git24580ad
|
* Tue Jun 19 2018 Chris Leech <cleech@redhat.com> - 6.2.0.876-1.git24580ad
|
||||||
- rebase to upstream 2.0.876
|
- rebase to upstream 2.0.876
|
||||||
@ -446,9 +393,6 @@ fi
|
|||||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 6.2.0.874-10.git86e8892
|
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 6.2.0.874-10.git86e8892
|
||||||
- Rebuilt for Python 3.7
|
- Rebuilt for Python 3.7
|
||||||
|
|
||||||
* Mon May 28 2018 Charalampos Stratakis <cstratak@redhat.com> - 6.2.0.874-10.git86e8892
|
|
||||||
- Conditionalize the python2 subpackage
|
|
||||||
|
|
||||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.0.874-9.git86e8892
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.0.874-9.git86e8892
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user