iscsi: Update open-iscsi version to 2.1.3-1

Signed-off-by: Wenchao Hao <haowenchao@huawei.com>
This commit is contained in:
Wenchao Hao 2021-01-28 15:06:08 +08:00 committed by Zhiqiang Liu
parent 8859ea24ff
commit 873d6590de
30 changed files with 100 additions and 905 deletions

View File

@ -1,44 +0,0 @@
From 83126f4ab8c67704d779d9d15b2e1227d11209ff Mon Sep 17 00:00:00 2001
From: pengyeqing <pengyeqing@huawei.com>
Date: Sat, 26 Jan 2019 22:44:59 +0800
Subject: [PATCH] iscsi-initiator-utils: add sleep for service
add sleep for service
Signed-off-by: pengyeqing <pengyeqing@huawei.com>
Signed-off-by: wuguanghao <wuguanghao3@huawei.com>
---
etc/systemd/iscsid.service | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service
index 4fef168..f3f8c65 100644
--- a/etc/systemd/iscsid.service
+++ b/etc/systemd/iscsid.service
@@ -1,17 +1,14 @@
[Unit]
Description=Open-iSCSI
Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8)
-DefaultDependencies=no
-After=network.target iscsiuio.service
-Before=remote-fs-pre.target
+After=network.target NetworkManager-wait-online.service iscsiuio.service tgtd.service targetcli.service
[Service]
-Type=notify
-NotifyAccess=main
-ExecStart=/sbin/iscsid -f
-KillMode=mixed
-Restart=on-failure
+Type=forking
+PIDFile=/var/run/iscsid.pid
+ExecStart=/sbin/iscsid
+ExecStopPost=/usr/bin/sleep 1
+ExecStop=/sbin/iscsiadm -k 0 2
[Install]
WantedBy=multi-user.target
-Also=iscsid.socket
--
1.8.3.1

View File

@ -1,17 +1,20 @@
From 88767cf8e6c62df3260e895664bfe7094e55d565 Mon Sep 17 00:00:00 2001
From eee26673e0f5da0589d718e986661c878a4747d2 Mon Sep 17 00:00:00 2001
From: wangjufeng <wangjufeng@huawei.com>
Date: Sat, 20 Oct 2018 14:50:28 +0800
Subject: [PATCH] tt
Conflict: Remove previous patch's unused variable,these unused variable
would cause compile failure
---
usr/event_poll.c | 17 +++++++-
usr/iscsid.c | 2 +-
usr/log.c | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
usr/log.c | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
usr/log.h | 6 +++
4 files changed, 144 insertions(+), 5 deletions(-)
4 files changed, 142 insertions(+), 5 deletions(-)
diff --git a/usr/event_poll.c b/usr/event_poll.c
index 4cf4ce2..7b70cb7 100644
index ffd12a3..e810de9 100644
--- a/usr/event_poll.c
+++ b/usr/event_poll.c
@@ -151,8 +151,11 @@ void event_loop_exit(queue_task_t *qtask)
@ -61,10 +64,10 @@ index 4cf4ce2..7b70cb7 100644
struct signalfd_siginfo si;
diff --git a/usr/iscsid.c b/usr/iscsid.c
index c9ab9eb..56689e5 100644
index 3544870..57b0c85 100644
--- a/usr/iscsid.c
+++ b/usr/iscsid.c
@@ -62,7 +62,6 @@ struct iscsi_daemon_config daemon_config;
@@ -61,7 +61,6 @@ struct iscsi_daemon_config daemon_config;
struct iscsi_daemon_config *dconfig = &daemon_config;
static char program_name[] = "iscsid";
@ -72,7 +75,7 @@ index c9ab9eb..56689e5 100644
static gid_t gid;
static int daemonize = 1;
static int mgmt_ipc_fd;
@@ -307,6 +306,7 @@ static void iscsid_shutdown(void)
@@ -306,6 +305,7 @@ static void iscsid_shutdown(void)
log_debug(1, "daemon stopping");
log_close(log_pid);
}
@ -81,7 +84,7 @@ index c9ab9eb..56689e5 100644
static void catch_signal(int signo)
diff --git a/usr/log.c b/usr/log.c
index 6e16e7c..c225bdc 100644
index 29cf39f..55c6a08 100644
--- a/usr/log.c
+++ b/usr/log.c
@@ -18,6 +18,7 @@
@ -114,7 +117,7 @@ index 6e16e7c..c225bdc 100644
return 0;
@@ -421,6 +430,105 @@ static void __log_close(void)
@@ -421,6 +430,103 @@ static void __log_close(void)
}
}
@ -161,8 +164,6 @@ index 6e16e7c..c225bdc 100644
+static int log_read_comm_frpm_pid(pid_t pid, char *buffer, int len)
+{
+ char comm_file[256];
+ char comm_content[1024];
+ int r;
+ FILE *fd = NULL;
+ buffer[0] = '\0';
+ snprintf(comm_file, sizeof(comm_file), "/proc/%i/comm", pid);
@ -220,7 +221,7 @@ index 6e16e7c..c225bdc 100644
int log_init(char *program_name, int size,
void (*func)(int prio, void *priv, const char *fmt, va_list ap),
void *priv)
@@ -443,6 +551,8 @@ int log_init(char *program_name, int size,
@@ -443,6 +549,8 @@ int log_init(char *program_name, int size,
return -1;
}
@ -229,7 +230,7 @@ index 6e16e7c..c225bdc 100644
pid = fork();
if (pid < 0) {
syslog(LOG_ERR, "starting logger failed");
@@ -463,6 +573,8 @@ int log_init(char *program_name, int size,
@@ -463,6 +571,8 @@ int log_init(char *program_name, int size,
sigaction(SIGTERM, &sa_new, &sa_old );
while(1) {
@ -238,7 +239,7 @@ index 6e16e7c..c225bdc 100644
log_flush();
sleep(1);
@@ -487,7 +599,15 @@ void log_close(pid_t pid)
@@ -487,7 +597,15 @@ void log_close(pid_t pid)
}
if (pid > 0) {

View File

@ -5,6 +5,8 @@ Subject: [PATCH] iscsi-initiator-utils: check initiator name out of range
reason:check initiator name out of range
Conflict: Fix compile warning which cause compile failure
Signed-off-by: pengyeqing <pengyeqing@huawei.com>
---
usr/mgmt_ipc.c | 9 ++++++++-
@ -21,7 +23,7 @@ index 1ffcda9..ce4defb 100644
- if (dconfig->initiator_name)
+ if (dconfig->initiator_name) {
+ if (VALUE_MAXLEN <= strlen(dconfig->initiator_name)){
+ log_error("iscsid: len[%d] of initiator name out of range, max len %d.", strlen(dconfig->initiator_name), VALUE_MAXLEN-1);
+ log_error("iscsid: len[%ld] of initiator name out of range, max len %d.", strlen(dconfig->initiator_name), VALUE_MAXLEN-1);
+ return ISCSI_ERR_INVAL;
+ }
+

View File

@ -1,76 +0,0 @@
From 1f4eb61f62a4f4245ddfd61440eb679f65ae8194 Mon Sep 17 00:00:00 2001
From: pengyeqing <pengyeqing@huawei.com>
Date: Sat, 26 Jan 2019 23:41:05 +0800
Subject: [PATCH] iscsi-initiator-utils: iscsid SIGTERM syncprocess hang
reason:iscsid SIGTERM syncprocess hang
Signed-off-by: pengyeqing <pengyeqing@huawei.com>
---
usr/iscsid.c | 2 ++
usr/iscsid_req.c | 10 ++++++++++
usr/iscsid_req.h | 1 +
3 files changed, 13 insertions(+)
diff --git a/usr/iscsid.c b/usr/iscsid.c
index b95917d..48d0f52 100644
--- a/usr/iscsid.c
+++ b/usr/iscsid.c
@@ -39,6 +39,7 @@
#include "mgmt_ipc.h"
#include "event_poll.h"
#include "iscsi_ipc.h"
+#include "iscsid_req.h"
#include "log.h"
#include "iscsi_util.h"
#include "initiator.h"
@@ -314,6 +315,7 @@ static void catch_signal(int signo)
switch (signo) {
case SIGTERM:
event_loop_exit(NULL);
+ signal_term_in();
break;
default:
break;
diff --git a/usr/iscsid_req.c b/usr/iscsid_req.c
index d18b14d..76aa035 100644
--- a/usr/iscsid_req.c
+++ b/usr/iscsid_req.c
@@ -37,6 +37,13 @@
#include "iscsid_req.h"
#include "uip_mgmt_ipc.h"
+static int sigterm_in;
+
+void signal_term_in()
+{
+ sigterm_in= 1;
+}
+
static void iscsid_startup(void)
{
char *startup_cmd;
@@ -145,6 +152,9 @@ int iscsid_response(int fd, iscsiadm_cmd_e cmd, iscsiadm_rsp_t *rsp,
while (len) {
struct pollfd pfd;
+ if (sigterm_in)
+ return ISCSI_ERR_ISCSID_COMM_ERR;
+
pfd.fd = fd;
pfd.events = POLLIN;
err = poll(&pfd, 1, timeout);
diff --git a/usr/iscsid_req.h b/usr/iscsid_req.h
index d580ed2..6f139a8 100644
--- a/usr/iscsid_req.h
+++ b/usr/iscsid_req.h
@@ -41,5 +41,6 @@ extern int iscsid_req_by_sid(iscsiadm_cmd_e cmd, int sid);
extern int uip_broadcast(void *buf, size_t buf_len, int fd_flags,
uint32_t *status);
+extern void signal_term_in(void);
#endif
--
1.8.3.1

View File

@ -1,20 +1,22 @@
From 521637e6e1274fbecd8c588681b24f628e2eec97 Mon Sep 17 00:00:00 2001
From c6fbda57e25c154a6dfbd31e9e2f64b9efb3cc43 Mon Sep 17 00:00:00 2001
From: pengyeqing <pengyeqing@huawei.com>
Date: Sun, 27 Jan 2019 00:16:18 +0800
Date: Thu, 28 Jan 2021 15:37:02 +0800
Subject: [PATCH] iscsi-initiator-utils: fix iscsiadm logout timeout
reason:fix iscsiadm logout timeout
Conflict: Adapt for open-iscsi-2.1.3 version
Signed-off-by: pengyeqing <pengyeqing@huawei.com>
---
usr/iscsid_req.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/usr/iscsid_req.c b/usr/iscsid_req.c
index 78000f4..18bb9db 100644
index a3aba6d..ca32298 100644
--- a/usr/iscsid_req.c
+++ b/usr/iscsid_req.c
@@ -64,6 +64,7 @@ static void iscsid_startup(void)
@@ -60,6 +60,7 @@ static void iscsid_startup(void)
}
#define MAXSLEEP 128
@ -22,7 +24,7 @@ index 78000f4..18bb9db 100644
static int ipc_connect(int *fd, char *unix_sock_name, int start_iscsid)
{
@@ -147,7 +148,7 @@ int iscsid_response(int fd, iscsiadm_cmd_e cmd, iscsiadm_rsp_t *rsp,
@@ -145,7 +146,7 @@ int iscsid_response(int fd, iscsiadm_cmd_e cmd, iscsiadm_rsp_t *rsp,
if (timeout == -1) {
timeout = ISCSID_REQ_TIMEOUT;
@ -31,7 +33,7 @@ index 78000f4..18bb9db 100644
}
while (len) {
struct pollfd pfd;
@@ -159,8 +160,10 @@ int iscsid_response(int fd, iscsiadm_cmd_e cmd, iscsiadm_rsp_t *rsp,
@@ -154,8 +155,10 @@ int iscsid_response(int fd, iscsiadm_cmd_e cmd, iscsiadm_rsp_t *rsp,
pfd.events = POLLIN;
err = poll(&pfd, 1, timeout);
if (!err) {
@ -40,7 +42,7 @@ index 78000f4..18bb9db 100644
continue;
+ log_warning("wait %d seconds timeout, try again?",
+ ISCSID_IPC_WAIT_RESPOND);
return ISCSI_ERR_ISCSID_NOTCONN;
return ISCSI_ERR_SESSION_NOT_CONNECTED;
} else if (err < 0) {
if (errno == EINTR)
--

View File

@ -0,0 +1,48 @@
From e357c243e01e1972659db09bda32e8d1e4a04330 Mon Sep 17 00:00:00 2001
From: Wenchao Hao <haowenchao@huawei.com>
Date: Fri, 29 Jan 2021 15:58:40 +0800
Subject: [PATCH] Modify iscsid.service to keep same with previous version
Mainly change is service iscsid work mode is changed from
notify to fork.
Signed-off-by: Wenchao Hao <haowenchao@huawei.com>
---
etc/systemd/iscsid.service | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service
index 648ceea..be51f11 100644
--- a/etc/systemd/iscsid.service
+++ b/etc/systemd/iscsid.service
@@ -1,18 +1,17 @@
[Unit]
Description=Open-iSCSI
-Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8)
+Documentation=man:iscsid(8) man:iscsiadm(8)
+After=network.target
DefaultDependencies=no
-After=network.target iscsiuio.service
-Before=remote-fs-pre.target
-Wants=remote-fs-pre.target
[Service]
-Type=notify
-NotifyAccess=main
-ExecStart=/sbin/iscsid -f
-KillMode=mixed
-Restart=on-failure
+Type=forking
+PIDFile=/run/iscsid.pid
+ExecStart=/sbin/iscsid
+ExecStartPost=/usr/bin/sleep 1
+ExecStop=/sbin/iscsiadm -k 0 2
+Restart=always
+RestartSec=2s
[Install]
WantedBy=multi-user.target
-Also=iscsid.socket
--
1.8.3.1

View File

@ -3,25 +3,16 @@ From: pengyeqing <pengyeqing@huawei.com>
Date: Mon, 20 Jan 2020 19:43:52 +0800
Subject: [PATCH] iscsi-initiator-utils: not send stop message if iscsid absent
Conflict: 1. Remove modification about iscsid.service, these modification are
in 0009-Modify-iscsid.service-to-keep-same-with-previous-ver.patch
2. change log_error("iscsid %d maybe ...) to
log_error("iscsid %ld maybe ...) to avoid compile failure
Signed-off-by: pengyeqing <pengyeqing@huawei.com>
---
etc/systemd/iscsid.service | 2 ++
usr/iscsiadm.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 73 insertions(+)
1 files changed, 71 insertions(+)
diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service
index f3f8c65..2cce190 100644
--- a/etc/systemd/iscsid.service
+++ b/etc/systemd/iscsid.service
@@ -9,6 +9,8 @@ PIDFile=/var/run/iscsid.pid
ExecStart=/sbin/iscsid
ExecStopPost=/usr/bin/sleep 1
ExecStop=/sbin/iscsiadm -k 0 2
+Restart=always
+RestartSec=2s
[Install]
WantedBy=multi-user.target
diff --git a/usr/iscsiadm.c b/usr/iscsiadm.c
index f2bd721..b386abe 100644
--- a/usr/iscsiadm.c
@ -114,7 +105,7 @@ index f2bd721..b386abe 100644
+ } else {
+ rc = kill(atol(iscsidpid), 0);
+ if (ESRCH == rc) {
+ log_error("iscsid %d maybe in zombie.\n", atol(iscsidpid));
+ log_error("iscsid %ld maybe in zombie.\n", atol(iscsidpid));
+ return;
+ }
+ }

View File

@ -1,55 +0,0 @@
From 40454759ba37c69c59473d63635cfccc7bb5ec8d Mon Sep 17 00:00:00 2001
From: Lee Duncan <lduncan@suse.com>
Date: Tue, 12 May 2020 16:01:50 +0800
Subject: [PATCH] Fix issue where 'iscsi-iname -p' core dumps
Fix issue where 'iscsi-iname -p' core dumps
Signed-off-by: Lee Duncan <lduncan@suse.com>
---
utils/iscsi-iname.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/utils/iscsi-iname.c b/utils/iscsi-iname.c
index da850dc..d1c067b 100644
--- a/utils/iscsi-iname.c
+++ b/utils/iscsi-iname.c
@@ -40,6 +40,13 @@
* a seperator and 12 characters (6 random bytes in hex representation) */
#define PREFIX_MAX_LEN 210
+static void usage(void)
+{
+ fprintf(stderr, "Usage: iscsi-iname [-h | --help | -p <prefix>]\n");
+ fprintf(stderr, "where <prefix> has max length of %d\n",
+ PREFIX_MAX_LEN);
+}
+
int
main(int argc, char *argv[])
{
@@ -68,15 +75,17 @@ main(int argc, char *argv[])
"on every invocation.\n");
exit(0);
} else if ( strcmp(prefix, "-p") == 0 ) {
+ if (argc != 3){
+ usage();
+ exit(1);
+ }
prefix = argv[2];
if (strnlen(prefix, PREFIX_MAX_LEN + 1) > PREFIX_MAX_LEN) {
- printf("Error: Prefix cannot exceed %d "
- "characters.\n", PREFIX_MAX_LEN);
+ usage();
exit(1);
}
} else {
- printf("\nUsage: iscsi-iname [-h | --help | "
- "-p <prefix>]\n");
+ usage();
exit(0);
}
} else {
--
1.8.3.1

View File

@ -1,49 +0,0 @@
From 3948dec9e2bd50ee3eec9e2288635362eddce171 Mon Sep 17 00:00:00 2001
From: Wu Bo <wubo40@huawei.com>
Date: Tue, 12 May 2020 16:07:43 +0800
Subject: [PATCH] modify iSCSI shared memory permissions for logs
iscsid log damon is responsible for reading data from shared memory
and writing syslog. iscsid is the root group. Currently, it is not
seen that non-root users need to read logs. The priciple of minimizing
the use of permisssions, all the permissions are changed from 644 to 600.
Signed-off-by: Wu Bo <wubo40@huawei.com>
---
usr/log.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/usr/log.c b/usr/log.c
index b5c1bdd..2f60bf2 100644
--- a/usr/log.c
+++ b/usr/log.c
@@ -80,7 +80,7 @@ static int logarea_init (int size)
logdbg(stderr,"enter logarea_init\n");
if ((shmid = shmget(IPC_PRIVATE, sizeof(struct logarea),
- 0644 | IPC_CREAT | IPC_EXCL)) == -1) {
+ 0600 | IPC_CREAT | IPC_EXCL)) == -1) {
syslog(LOG_ERR, "shmget logarea failed %d", errno);
return 1;
}
@@ -100,7 +100,7 @@ static int logarea_init (int size)
size = DEFAULT_AREA_SIZE;
if ((shmid = shmget(IPC_PRIVATE, size,
- 0644 | IPC_CREAT | IPC_EXCL)) == -1) {
+ 0600 | IPC_CREAT | IPC_EXCL)) == -1) {
syslog(LOG_ERR, "shmget msg failed %d", errno);
free_logarea();
return 1;
@@ -121,7 +121,7 @@ static int logarea_init (int size)
la->tail = la->start;
if ((shmid = shmget(IPC_PRIVATE, MAX_MSG_SIZE + sizeof(struct logmsg),
- 0644 | IPC_CREAT | IPC_EXCL)) == -1) {
+ 0600 | IPC_CREAT | IPC_EXCL)) == -1) {
syslog(LOG_ERR, "shmget logmsg failed %d", errno);
free_logarea();
return 1;
--
1.8.3.1

View File

@ -1,35 +0,0 @@
From 05766f1e85ea7fbf975559d27814c769328c72dd Mon Sep 17 00:00:00 2001
From: liubo <liubo254@huawei.com>
Date: Thu, 4 Jun 2020 16:57:07 +0800
Subject: [PATCH] iscsi: Add break to while loop
Fix the potential risk of rc value being washed out by jumping out of the loop
Source Link: https://github.com/open-iscsi/open-iscsi/pull/211
Signed-off-by: liubo <liubo254@huawei.com>
Reported-by: Zhiqiang Liu <liuzhiqiang26@huawei.com>
---
utils/fwparam_ibft/fwparam_sysfs.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/utils/fwparam_ibft/fwparam_sysfs.c b/utils/fwparam_ibft/fwparam_sysfs.c
index a0cd1c7..87fd6d4 100644
--- a/utils/fwparam_ibft/fwparam_sysfs.c
+++ b/utils/fwparam_ibft/fwparam_sysfs.c
@@ -115,8 +115,11 @@ static int get_iface_from_device(char *id, struct boot_context *context)
break;
}
- if (sscanf(dent->d_name, "net:%s", context->iface) != 1)
+ if (sscanf(dent->d_name, "net:%s", context->iface) != 1) {
rc = EINVAL;
+ break;
+ }
+
rc = 0;
break;
} else {
--
2.21.1 (Apple Git-122.3)

View File

@ -1,33 +0,0 @@
From e5c4073ae836cd049a4bc3d6c1291a25f88ad67d Mon Sep 17 00:00:00 2001
From: lixiaokeng <lixiaokeng@huawei.com>
Date: Thu, 4 Jun 2020 20:35:18 +0800
Subject: [PATCH] iscsi: fix fd leak
iscsi-review/utils/fwparam_ibft/fwparam_ibft.c: line 466
Before return -1, the fd was opend and not closed which would lead
to leak fd. Fix that.
Source Link: https://github.com/open-iscsi/open-iscsi/pull/212
Signed-off-by: lixiaokeng <lixiaokeng@huawei.com>
Reported-by: Zhiqiang Liu <liuzhiqiang26@huawei.com>
---
utils/fwparam_ibft/fwparam_ibft.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/utils/fwparam_ibft/fwparam_ibft.c b/utils/fwparam_ibft/fwparam_ibft.c
index 52edac1..e68e503 100644
--- a/utils/fwparam_ibft/fwparam_ibft.c
+++ b/utils/fwparam_ibft/fwparam_ibft.c
@@ -463,6 +463,7 @@ fwparam_ibft(struct boot_context *context, const char *filepath)
if (stat(filename, &buf)!=0) {
fprintf(stderr, "Could not stat file %s: %s (%d)\n",
filename, strerror(errno), errno);
+ close(fd);
return -1;
}
/* And if not zero use that size */
--
2.21.1 (Apple Git-122.3)

View File

@ -1,36 +0,0 @@
From f01725cfd9b2214f7c602bd72a5af9578dc9d023 Mon Sep 17 00:00:00 2001
From: si-gui <245140120@qq.com>
Date: Mon, 15 Jun 2020 17:07:36 +0800
Subject: [PATCH] Fix devel without node header files
When user include libopeniscsiusr.h in the c files,we will get an error:
"/usr/include/libopeniscsiusr.h:33:10: fatal error:
libopeniscsiusr_node.h: No such file or directory"
We find libopeniscsiusr_node.h was forgetton in our
libopeniscsiusr/Makefile, so fix it. Otherwise user can't use open-iscsi
header file for development
Signed-off-by: si-gui <245140120@qq.com>
---
libopeniscsiusr/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libopeniscsiusr/Makefile b/libopeniscsiusr/Makefile
index bf7c96c..75f6fb3 100644
--- a/libopeniscsiusr/Makefile
+++ b/libopeniscsiusr/Makefile
@@ -35,7 +35,8 @@ PKGFILE = libopeniscsiusr.pc
HEADERS = libopeniscsiusr/libopeniscsiusr.h \
libopeniscsiusr/libopeniscsiusr_common.h \
libopeniscsiusr/libopeniscsiusr_session.h \
- libopeniscsiusr/libopeniscsiusr_iface.h
+ libopeniscsiusr/libopeniscsiusr_iface.h \
+ libopeniscsiusr/libopeniscsiusr_node.h
TESTS = tests/test_context tests/test_session tests/test_iface tests/test_node
EXTRA_MAN_FILES = libopeniscsiusr.h.3
--
2.23.0

View File

@ -1,53 +0,0 @@
From 982eb357f12b86152f85fb5a1dba47e965ebf9d5 Mon Sep 17 00:00:00 2001
From: wuguanghao <wuguanghao3@huawei.com>
Date: Thu, 9 Jul 2020 14:56:28 +0800
Subject: [PATCH] resolve compilation errors
---
usr/iscsiadm.c | 2 +-
usr/log.c | 2 --
usr/mgmt_ipc.c | 2 +-
3 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/usr/iscsiadm.c b/usr/iscsiadm.c
index b386abe..ae560bc 100644
--- a/usr/iscsiadm.c
+++ b/usr/iscsiadm.c
@@ -352,7 +352,7 @@ static void kill_iscsid(int priority, int tmo)
} else {
rc = kill(atol(iscsidpid), 0);
if (ESRCH == rc) {
- log_error("iscsid %d maybe in zombie.\n", atol(iscsidpid));
+ log_error("iscsid %ld maybe in zombie.\n", atol(iscsidpid));
return;
}
}
diff --git a/usr/log.c b/usr/log.c
index 3a52263..00a28f1 100644
--- a/usr/log.c
+++ b/usr/log.c
@@ -473,8 +473,6 @@ static int log_watchdog_setup(void)
static int log_read_comm_frpm_pid(pid_t pid, char *buffer, int len)
{
char comm_file[256];
- char comm_content[1024];
- int r;
FILE *fd = NULL;
buffer[0] = '\0';
snprintf(comm_file, sizeof(comm_file), "/proc/%i/comm", pid);
diff --git a/usr/mgmt_ipc.c b/usr/mgmt_ipc.c
index 3b01949..9e8a323 100644
--- a/usr/mgmt_ipc.c
+++ b/usr/mgmt_ipc.c
@@ -170,7 +170,7 @@ mgmt_ipc_cfg_initiatorname(queue_task_t *qtask)
{
if (dconfig->initiator_name) {
if (VALUE_MAXLEN <= strlen(dconfig->initiator_name)){
- log_error("iscsid: len[%d] of initiator name out of range, max len %d.", strlen(dconfig->initiator_name), VALUE_MAXLEN-1);
+ log_error("iscsid: len[%ld] of initiator name out of range, max len %d.", strlen(dconfig->initiator_name), VALUE_MAXLEN-1);
return ISCSI_ERR_INVAL;
}
--
1.8.3.1

View File

@ -1,31 +0,0 @@
From 53034c2ae6d1e4ec659dbace9da02ee8bc48a352 Mon Sep 17 00:00:00 2001
From: wuguanghao <wuguanghao3@huawei.com>
Date: Tue, 1 Sep 2020 15:39:46 +0800
Subject: [PATCH] Update systemd unit files for iscsid
Update systemd unit files for iscsid
Signed-off-by: Lee Duncan <lduncan@suse.com>
Signed-off-by: wuguanghao <wuguanghao3@huawei.com>
---
etc/systemd/iscsid.service | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service
index 2cce190..828877f 100644
--- a/etc/systemd/iscsid.service
+++ b/etc/systemd/iscsid.service
@@ -1,7 +1,8 @@
[Unit]
Description=Open-iSCSI
-Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8)
-After=network.target NetworkManager-wait-online.service iscsiuio.service tgtd.service targetcli.service
+Documentation=man:iscsid(8) man:iscsiadm(8)
+After=network.target
+DefaultDependencies=no
[Service]
Type=forking
--
1.8.3.1

View File

@ -1,40 +0,0 @@
From 6a9b0728c55b8ad5c6d5dba3f38697eded09538a Mon Sep 17 00:00:00 2001
From: Lee Duncan <lduncan@suse.com>
Date: Wed, 4 Mar 2020 12:59:10 -0800
Subject: [PATCH 151/170] Fix iscsi.service so it handles restarts better
Requiring iscsid.service means that a restart of iscsi.service
restarted iscsid.service when unneccesary.
Also, we should treat an exit value of 15 as normal, since
this just means the session is already present.
It should rely on iscsid.socket, no iscsid.service.
---
etc/systemd/iscsi.service | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service
index e475888..1c286d1 100644
--- a/etc/systemd/iscsi.service
+++ b/etc/systemd/iscsi.service
@@ -3,7 +3,7 @@ Description=Login and scanning of iSCSI devices
Documentation=man:iscsiadm(8) man:iscsid(8)
Before=remote-fs.target
After=network.target network-online.target iscsid.service
-Requires=iscsid.service
+Requires=iscsid.socket
ConditionPathExists=/etc/iscsi/initiatorname.iscsi
[Service]
@@ -11,7 +11,7 @@ Type=oneshot
ExecStart=/sbin/iscsiadm -m node --loginall=automatic
ExecStop=/sbin/iscsiadm -m node --logoutall=automatic
ExecStop=/sbin/iscsiadm -m node --logoutall=manual
-SuccessExitStatus=21
+SuccessExitStatus=21 15
RemainAfterExit=true
[Install]
--
2.21.1 (Apple Git-122.3)

View File

@ -1,28 +0,0 @@
From 16d4899d52b3b88774ac6d9b3cc0f5626f4705da Mon Sep 17 00:00:00 2001
From: Lee Duncan <lduncan@suse.com>
Date: Tue, 19 Nov 2019 07:54:41 -0800
Subject: [PATCH 158/170] Ignore iface.example in iface match checks
Just a cleanup, as looking at the example file
didn't hurt anything, but did waste our time.
---
usr/iface.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/usr/iface.c b/usr/iface.c
index 323f167..11f3d2a 100644
--- a/usr/iface.c
+++ b/usr/iface.c
@@ -905,6 +905,9 @@ int iface_for_each_iface(void *data, int skip_def, int *nr_found,
!strcmp(iface_dent->d_name, ".."))
continue;
+ if (!strcmp(iface_dent->d_name, "iface.example"))
+ continue;
+
log_debug(5, "iface_for_each_iface found %s",
iface_dent->d_name);
iface = iface_alloc(iface_dent->d_name, &err);
--
2.21.1 (Apple Git-122.3)

View File

@ -1,30 +0,0 @@
From 71e4ce5e7722dde25751025cac0e8b29d8d540df Mon Sep 17 00:00:00 2001
From: fredvx <48496214+fredvx@users.noreply.github.com>
Date: Wed, 22 Apr 2020 14:24:50 -0400
Subject: [PATCH 161/170] Fix SIGPIPE loop in signal handler
---
usr/iscsid.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/usr/iscsid.c b/usr/iscsid.c
index 99d27ab..e501498 100644
--- a/usr/iscsid.c
+++ b/usr/iscsid.c
@@ -310,7 +310,12 @@ static void iscsid_shutdown(void)
static void catch_signal(int signo)
{
- log_debug(1, "pid %d caught signal %d", getpid(), signo);
+ /*
+ * Do not try to call log_debug() if there is a PIPE error
+ * because we can get caught in a PIPE error loop.
+ */
+ if (signo != SIGPIPE)
+ log_debug(1, "pid %d caught signal %d", getpid(), signo);
/* In foreground mode, treat SIGINT like SIGTERM */
if (!daemonize && signo == SIGINT)
--
2.21.1 (Apple Git-122.3)

View File

@ -1,55 +0,0 @@
From dc7560d404857c0540caed2f71f8e7c2e7307ab3 Mon Sep 17 00:00:00 2001
From: gulams <64251312+gulams@users.noreply.github.com>
Date: Tue, 28 Apr 2020 13:03:50 +0530
Subject: [PATCH 162/170] Proper disconnect of TCP connection
1. Due to configuration issues, the logins from iSCSI initiator were getting rejected by the target
2. The initiator was retrying the login again and again
3. Each time the initiator tries to log in, the host number gets incremented by 1
4. At one point of time, the host number reached 65535
5. During the login process, once the TCP connection is established, the initiator tries to set the host parameters for the network interface if its not the default interface
6. While setting these host parameters, it will try to do a lookup of the host based upon the host number
7. The host number in "iscsi_uevent" structure is uint32_t. This is given as an argument to the scsi_host_lookup() function
8. This scsi_host_lookup() function takes it as unsigned short. So, when it receives the host number above 65535, the value is wrapped and starts from 0 again
9. Thus the incorrect value of host number is received by the scsi_host_lookup() function and hence it returns with error that the host is not existing in the list
10. Due to this "host not found error", the open-iscsi will retry this particular connection again and again
11. In this each retry, it will disconnect and then connect again with the same connection pointer, i.e it re-opens the connection multiple times till 120 seconds timeout
12. During these 120 seconds, observed that its trying to re-open the connection aroung 400+ times with each time disconnect and connect
13. After 120 seconds, the connection and session will be destroyed
14. So, while doing multiple retries of connect and disconnect during the 120 seconds, when the connect is successful it will try to bind the connection to the session
15. When it binds the connection and session, the reference count for the socket is incremented
16. When it disconnects, its trying to close the socket with close(sockfd) system call
17. This close() system call is entering into the kernel and NOT going forward till the networking layrer to call tcp_close() to send the FIN packet to the target
18. Its not going till tcp_close() because the reference count of the socket is still 1
19. So, the initiator is not sending the FIN packet to target and hence target is timing out and sending FIN after its timeout. This happens for all the retries (400+)
20. At some point, when this FIN packet is received by the initiator, the connection was destroyed and the memory was re-used for some other purpose and hence we see the panic
Fix:
==
Fix is to decrement the reference count of the socket fd after disconnect by calling the stop connection
Corrected the indentation for the change in the function iscsi_login_eh()
---
usr/initiator.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/usr/initiator.c b/usr/initiator.c
index a07f9aa..5f4bdca 100644
--- a/usr/initiator.c
+++ b/usr/initiator.c
@@ -711,11 +711,7 @@ static void iscsi_login_eh(struct iscsi_conn *conn, struct queue_task *qtask,
!iscsi_retry_initial_login(conn))
session_conn_shutdown(conn, qtask, err);
else {
- session->reopen_cnt++;
- session->t->template->ep_disconnect(conn);
- if (iscsi_conn_connect(conn, qtask))
- queue_delayed_reopen(qtask,
- ISCSI_CONN_ERR_REOPEN_DELAY);
+ session_conn_reopen(conn, qtask, STOP_CONN_TERM);
}
break;
case R_STAGE_SESSION_REDIRECT:
--
2.21.1 (Apple Git-122.3)

View File

@ -1,52 +0,0 @@
From f37d5b653f9f251845db3f29b1a3dcb90ec89731 Mon Sep 17 00:00:00 2001
From: Christian Glombek <cglombek@redhat.com>
Date: Wed, 6 May 2020 02:08:59 +0200
Subject: [PATCH 163/170] Add iscsi-init.service
Per Fedora Packaging Guidelines [1], initial configuration of a service
should happen in a one-off init service in order to ensure idempotency,
and not in the %post directive of the RPM spec.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1493296
[1]: https://docs.fedoraproject.org/en-US/packaging-guidelines/Initial_Service_Setup/
---
etc/systemd/iscsi-init.service | 8 ++++++++
etc/systemd/iscsi.service | 6 +++---
2 files changed, 11 insertions(+), 3 deletions(-)
create mode 100644 etc/systemd/iscsi-init.service
diff --git a/etc/systemd/iscsi-init.service b/etc/systemd/iscsi-init.service
new file mode 100644
index 0000000..e058ff0
--- /dev/null
+++ b/etc/systemd/iscsi-init.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=One time configuration for iscsi.service
+ConditionPathExists=!/etc/iscsi/initiatorname.iscsi
+
+[Service]
+Type=oneshot
+RemainAfterExit=no
+ExecStart=/usr/bin/sh -c 'echo "InitiatorName=`/usr/sbin/iscsi-iname`" > /etc/iscsi/initiatorname.iscsi'
diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service
index 1c286d1..2f2bf81 100644
--- a/etc/systemd/iscsi.service
+++ b/etc/systemd/iscsi.service
@@ -2,9 +2,9 @@
Description=Login and scanning of iSCSI devices
Documentation=man:iscsiadm(8) man:iscsid(8)
Before=remote-fs.target
-After=network.target network-online.target iscsid.service
-Requires=iscsid.socket
-ConditionPathExists=/etc/iscsi/initiatorname.iscsi
+After=network.target network-online.target
+After=iscsid.service iscsi-init.service
+Requires=iscsid.socket iscsi-init.service
[Service]
Type=oneshot
--
2.21.1 (Apple Git-122.3)

View File

@ -1,66 +0,0 @@
From 8d96cc47381a840e5e03384e8077ad238fd1adc4 Mon Sep 17 00:00:00 2001
From: Lee Duncan <lduncan@suse.com>
Date: Wed, 3 Jun 2020 08:29:39 -0700
Subject: [PATCH 164/170] Fix issue with zero-length arrays at end of struct
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
A common practice in C coding, over the years, has been to
add a zero-length array at the end of the structure when trying
to represent a possibly-empty array of bytes that may be
appended to the struct. But the gcc-10 compiler does not
like such structures, taking the zero-length literally.
The following errors are fixed by this commit:
> iscsiadm.c: In function session_stats:
> iscsiadm.c:939:56: error: array subscript (<unknown>) + -1 is outside the bounds of an interior zero-length array struct iscsi_stats_custom[0] [-Werror=zero-length-bounds]
> 939 | (unsigned long long)rsp.u.getstats.stats.custom[i].value);
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
> In file included from initiator.h:29,
> from iscsiadm.c:36:
> ../include/iscsi_if.h:844:28: note: while referencing custom
> 844 | struct iscsi_stats_custom custom[0]
> | ^~~~~~
> iscsiadm.c:938:56: error: array subscript (<unknown>) + -1 is outside the bounds of an interior zero-length array struct iscsi_stats_custom[0] [-Werror=zero-length-bounds]
> 938 | printf("\t%s: %llu\n", rsp.u.getstats.stats.custom[i].desc,
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> In file included from initiator.h:29,
> from iscsiadm.c:36:
> ../include/iscsi_if.h:844:28: note: while referencing custom
> 844 | struct iscsi_stats_custom custom[0]
> | ^~~~~~
> cc1: all warnings being treated as errors
The work around is to convert the two "custom[0]" structure members to
use "custom[]".
---
include/iscsi_if.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/iscsi_if.h b/include/iscsi_if.h
index 2d46214..5a1c614 100644
--- a/include/iscsi_if.h
+++ b/include/iscsi_if.h
@@ -841,7 +841,7 @@ struct iscsi_stats {
* up to ISCSI_STATS_CUSTOM_MAX
*/
uint32_t custom_length;
- struct iscsi_stats_custom custom[0]
+ struct iscsi_stats_custom custom[]
__attribute__ ((aligned (sizeof(uint64_t))));
};
@@ -972,7 +972,7 @@ struct iscsi_offload_host_stats {
* up to ISCSI_HOST_STATS_CUSTOM_MAX
*/
uint32_t custom_length;
- struct iscsi_host_stats_custom custom[0]
+ struct iscsi_host_stats_custom custom[]
__attribute__ ((aligned (sizeof(uint64_t))));
};
--
2.21.1 (Apple Git-122.3)

View File

@ -1,30 +0,0 @@
From 10009f1c5fc01238be976867bc02be046325850b Mon Sep 17 00:00:00 2001
From: Lee Duncan <lduncan@suse.com>
Date: Wed, 3 Jun 2020 08:36:45 -0700
Subject: [PATCH 165/170] Fix a compiler complaint about writing one byte
When playing with IPv6 IP addresses, which are described
in C using a union, and the gcc-10 compiler didn't like
that we were not specifying which member of the union
we wanted to address of, when in fact all members have
the same address. The fix is to be more explicit.
---
iscsiuio/src/uip/ipv6.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/iscsiuio/src/uip/ipv6.c b/iscsiuio/src/uip/ipv6.c
index 05efa73..11cb4e9 100644
--- a/iscsiuio/src/uip/ipv6.c
+++ b/iscsiuio/src/uip/ipv6.c
@@ -519,7 +519,7 @@ static void ipv6_insert_protocol_chksum(struct ipv6_hdr *ipv6)
* SRC IP, DST IP, Protocol Data Length, and Next Header.
*/
sum = 0;
- ptr = (u16_t *)&ipv6->ipv6_src;
+ ptr = (u16_t *)&ipv6->ipv6_src.addr16[0];
for (i = 0; i < sizeof(struct ipv6_addr); i++) {
sum += HOST_TO_NET16(*ptr);
--
2.21.1 (Apple Git-122.3)

View File

@ -1,64 +0,0 @@
From 9ac758cc472d991d7eaa9a1da17279cbbdbc7ebf Mon Sep 17 00:00:00 2001
From: gulams <64251312+gulams@users.noreply.github.com>
Date: Thu, 3 Sep 2020 21:28:52 +0530
Subject: [PATCH 5/8] iscsid: Check Invalid Session id for stop connection
Description:
If the initiator is rebooting then after the reboot, it will try to
resync (recreate) the existing the connections by reading the sysfs.
While initiator is doing this, i.e when the initiator tries to connect
to the target but if the target service is not yet started, then the
initiator connection will fail. The session id is also not yet assigned
and it will be at its initial value 0xFFFFFFFF which is invalid. The
session id is assigned a valid value only after a successful connection.
Since the connection is failed, the initiator code will queue the
connection for re-open. The connection state is still at
ISCSI_CONN_STATE_XPT_WAIT as its very first login attemp after the
reboot.
Due to my Pull #206 request the code will invoke the stop connection to
decrement the socket_fd reference count to properly close the connecion
(details are in pull request #206). But since the session id is not
valid, the stop connection will fail and the code will go ahead and
queue the re-open without attempting the connect again. This is repeated
till 120 seconds (stop connection failing and requeuing the reopen
without invoking connect) and the connection will be shutdown resulting
the storage unavailable.
Fix:
We need to check the validity of the session id before calling the stop
connection. If the session id is valid then only invoke the stop
connection. Due to this, the code will go ahead and attempt the connet
call. If the target service comes up anytime in 120 seconds, then the
connect will be successful and we will get connected to the target.
---
usr/initiator.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/usr/initiator.c b/usr/initiator.c
index 5f4bdca..684647c 100644
--- a/usr/initiator.c
+++ b/usr/initiator.c
@@ -692,6 +692,7 @@ static void iscsi_login_eh(struct iscsi_conn *conn, struct queue_task *qtask,
int err)
{
struct iscsi_session *session = conn->session;
+ int stop_flag = 0;
log_debug(3, "iscsi_login_eh");
/*
@@ -711,7 +712,11 @@ static void iscsi_login_eh(struct iscsi_conn *conn, struct queue_task *qtask,
!iscsi_retry_initial_login(conn))
session_conn_shutdown(conn, qtask, err);
else {
- session_conn_reopen(conn, qtask, STOP_CONN_TERM);
+ stop_flag = (session->id < INVALID_SESSION_ID) ? STOP_CONN_TERM : 0;
+ log_debug(6, "connection %p socket_fd: %d, "
+ "session id: %d stop_flag: %d\n",
+ conn, conn->socket_fd, session->id, stop_flag);
+ session_conn_reopen(conn, qtask, stop_flag);
}
break;
case R_STAGE_SESSION_REDIRECT:
--
1.8.3.1

View File

@ -1,28 +0,0 @@
From 0c032f5f4f826199868099f0af10c4a913209573 Mon Sep 17 00:00:00 2001
From: Chris Leech <cleech@redhat.com>
Date: Mon, 14 Sep 2020 14:09:56 -0700
Subject: [PATCH 6/8] iscsiadm buffer overflow regression when discovering many
targets at once
int_list type didn't zero the output string, so as the rec struct was reused
repeatedly during discovery it would keep growing with repeated values
triggering a strcat buffer overflow
---
usr/idbm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/usr/idbm.c b/usr/idbm.c
index 6309be0..42c2699 100644
--- a/usr/idbm.c
+++ b/usr/idbm.c
@@ -169,6 +169,7 @@ static struct idbm *db;
#define __recinfo_int_list(_key,_info,_rec,_name,_show,_tbl,_n,_mod) do { \
_info[_n].type = TYPE_INT_LIST; \
strlcpy(_info[_n].name, _key, NAME_MAXVAL); \
+ _info[_n].value[0] = '\0'; \
for (unsigned long _i = 0; _i < ARRAY_LEN(_rec->_name); _i++) { \
if (_rec->_name[_i] != (unsigned)~0) { \
for (unsigned long _j = 0; _j < ARRAY_LEN(_tbl); _j++) { \
--
1.8.3.1

View File

@ -1,29 +0,0 @@
From dafbd11b65b2bbceed1e9b72d6213ddea73a0a34 Mon Sep 17 00:00:00 2001
From: Wenchao Hao <haowenchao@huawei.com>
Date: Sat, 12 Dec 2020 17:09:34 +0800
Subject: [PATCH] iscsid: Change iscsid service PIDFile to /run/iscsid.ipd
The pid file has be changed from /var/run/iscsid.pid to
/run/iscsid.pid in code, here perform a sync.
Signed-off-by: Wenchao Hao <haowenchao@huawei.com>
---
etc/systemd/iscsid.service | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service
index 828877f..be3ae9e 100644
--- a/etc/systemd/iscsid.service
+++ b/etc/systemd/iscsid.service
@@ -6,7 +6,7 @@ DefaultDependencies=no
[Service]
Type=forking
-PIDFile=/var/run/iscsid.pid
+PIDFile=/run/iscsid.pid
ExecStart=/sbin/iscsid
ExecStopPost=/usr/bin/sleep 1
ExecStop=/sbin/iscsiadm -k 0 2
--
2.29.2.435.g72ffeb997e

Binary file not shown.

BIN
open-iscsi-2.1.3.tar.gz Normal file

Binary file not shown.

View File

@ -3,41 +3,23 @@
%global socket_enable() /bin/systemctl enable %1.socket >/dev/null 2>&1 || :
Name: open-iscsi
Version: 2.1.1
Release: 5
Version: 2.1.3
Release: 1
Summary: ISCSI software initiator daemon and utility programs
License: GPLv2+ and BSD
URL: http://www.open-iscsi.org
Source0: https://github.com/open-iscsi/open-iscsi/archive/2.1.1.tar.gz#/open-iscsi-2.1.1.tar.gz
Patch1: 0001-change-iscsi-iqn-default-value.patch
Patch2: 0002-iscsid-Check-nr_sessions-when-creating-a-copy-of-exi.patch
Patch3: 0003-add-sleep-for-service.patch
Patch4: 0004-not-send-stop-message-if-iscsid-absent.patch
Patch5: 0005-iscsid-SIGTERM-syncprocess-hang.patch
Patch6: 0006-restart-log-daemon-when-exited-abnormally.patch
Patch7: 0007-check-initiator-name-out-of-range.patch
Patch8: 0008-do-not-sync-session-when-a-session-is-already-created.patch
Patch9: 0009-fix-default-file-corrupt.patch
Patch10: 0010-iscsiadm-fix-infinite-loop-while-recv-returns-0.patch
Patch11: 0011-fix-iscsiadm-logout-timeout.patch
Patch12: 0012-default-file-zero-after-power-outage.patch
Patch13: 0013-Fix-issue-where-iscsi-iname-p-core-dumps.patch
Patch14: 0014-modify-iSCSI-shared-memory-permissions-for-logs.patch
Patch15: 0015-iscsi-Add-break-to-while-loop.patch
Patch16: 0016-iscsi-fix-fd-leak.patch
Patch17: 0017-Fix-devel-without-node-header-files.patch
Patch18: 0018-resolve-compilation-errors.patch
Patch19: 0019-Update-systemd-unit-files-for-iscsid.patch
Patch20: 0020-Fix-iscsi.service-so-it-handles-restarts-better.patch
Patch21: 0021-Ignore-iface.example-in-iface-match-checks.patch
Patch22: 0022-Fix-SIGPIPE-loop-in-signal-handler.patch
Patch23: 0023-Proper-disconnect-of-TCP-connection.patch
Patch24: 0024-Add-iscsi-init.service.patch
Patch25: 0025-Fix-issue-with-zero-length-arrays-at-end-of-struct.patch
Patch26: 0026-Fix-a-compiler-complaint-about-writing-one-byte.patch
Patch27: 0027-iscsid-Check-Invalid-Session-id-for-stop-connection.patch
Patch28: 0028-iscsiadm-buffer-overflow-regression-when-discovering.patch
Patch29: 0029-iscsid-Change-iscsid-service-PIDFile-to-run-iscsid.i.patch
Source0: https://github.com/open-iscsi/open-iscsi/archive/2.1.3.tar.gz#/open-iscsi-2.1.3.tar.gz
patch1: 0001-change-iscsi-iqn-default-value.patch
patch2: 0002-iscsid-Check-nr_sessions-when-creating-a-copy-of-exi.patch
patch3: 0003-restart-log-daemon-when-exited-abnormally.patch
patch4: 0004-check-initiator-name-out-of-range.patch
patch5: 0005-do-not-sync-session-when-a-session-is-already-created.patch
patch6: 0006-fix-default-file-corrupt.patch
patch7: 0007-fix-iscsiadm-logout-timeout.patch
patch8: 0008-default-file-zero-after-power-outage.patch
patch9: 0009-Modify-iscsid.service-to-keep-same-with-previous-ver.patch
patch10: 0010-iscsiadm-fix-infinite-loop-while-recv-returns-0.patch
patch11: 0011-not-send-stop-message-if-iscsid-absent.patch
BuildRequires: flex bison doxygen kmod-devel systemd-units gcc git isns-utils-devel systemd-devel
BuildRequires: autoconf automake libtool libmount-devel openssl-devel pkg-config gdb
@ -88,7 +70,7 @@ Requires: man
This contains man files for the using of %{name}.
%prep
%autosetup -n open-iscsi-2.1.1 -p1
%autosetup -n %{name}-%{version} -p1
perl -i -pe 's|^exec_prefix = /$|exec_prefix = %{_exec_prefix}|' Makefile
%build
@ -170,6 +152,9 @@ fi
%{_mandir}/man8/*
%changelog
* Thu Jan 28 2021 haowenchao <haowenchao@huawei.com> - 2.1.3-1
- Update open-iscsi version to 2.1.3-1
* Sat Dec 12 2020 haowenchao <haowenchao@huawei.com> - 2.1.1-5
- Change iscsid service PIDFile to /run/iscsid.ipd
The pid file has be changed from /var/run/iscsid.pid to