From 5692f5d5745819f7ef5891fe798637fda801fa0a Mon Sep 17 00:00:00 2001 From: yuncang123 <1050706328@qq.com> Date: Wed, 25 Sep 2024 04:04:47 +0800 Subject: [PATCH] fix several bugs, support clang build --- ...ix-missing-underline-in-iscsid_req.h.patch | 25 ++ ...-declaration-must-precede-definition.patch | 264 ++++++++++++++++++ ...licit-truncation-from-int-to-one-bit.patch | 25 ++ ...n-not-be-visible-outside-of-function.patch | 24 ++ 0033-rm-unused-but-set-variable.patch | 40 +++ open-iscsi.spec | 17 +- 6 files changed, 394 insertions(+), 1 deletion(-) create mode 100644 0029-backport-fix-missing-underline-in-iscsid_req.h.patch create mode 100644 0030-attribute-declaration-must-precede-definition.patch create mode 100644 0031-fix-implicit-truncation-from-int-to-one-bit.patch create mode 100644 0032-fix-declaration-not-be-visible-outside-of-function.patch create mode 100644 0033-rm-unused-but-set-variable.patch diff --git a/0029-backport-fix-missing-underline-in-iscsid_req.h.patch b/0029-backport-fix-missing-underline-in-iscsid_req.h.patch new file mode 100644 index 0000000..d414834 --- /dev/null +++ b/0029-backport-fix-missing-underline-in-iscsid_req.h.patch @@ -0,0 +1,25 @@ +From edf9debf9764eb5173c744d51c42b973a77f636f Mon Sep 17 00:00:00 2001 +From: yuncang123 <1050706328@qq.com> +Date: Thu, 5 Sep 2024 19:45:09 +0800 +Subject: [PATCH] backport fix missing underline in iscsid_req.h + +--- + usr/iscsid_req.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/usr/iscsid_req.h b/usr/iscsid_req.h +index d580ed2..27d58e1 100644 +--- a/usr/iscsid_req.h ++++ b/usr/iscsid_req.h +@@ -19,7 +19,7 @@ + */ + + #ifndef ISCSID_REQ_H_ +-#define ISCSID_REQ_H ++#define ISCSID_REQ_H_ + + #define ISCSID_REQ_TIMEOUT 1000 + +-- +2.43.0 + diff --git a/0030-attribute-declaration-must-precede-definition.patch b/0030-attribute-declaration-must-precede-definition.patch new file mode 100644 index 0000000..75b71fa --- /dev/null +++ b/0030-attribute-declaration-must-precede-definition.patch @@ -0,0 +1,264 @@ +From 093475a8c09ef02ff704f3a8737ce67ee0f8eb9f Mon Sep 17 00:00:00 2001 +From: yuncang123 <1050706328@qq.com> +Date: Thu, 19 Sep 2024 01:54:05 +0800 +Subject: [PATCH] 32 + +--- + usr/discovery.c | 2 +- + usr/discoveryd.c | 2 +- + usr/host.c | 2 +- + usr/idbm.c | 2 +- + usr/initiator.c | 2 +- + usr/initiator_common.c | 2 +- + usr/io.c | 2 +- + usr/iscsi_sysfs.c | 2 +- + usr/iscsid.c | 2 +- + usr/iscsistart.c | 3 +-- + usr/mntcheck.c | 2 +- + usr/session_mgmt.c | 2 +- + 12 files changed, 12 insertions(+), 13 deletions(-) + +diff --git a/usr/discovery.c b/usr/discovery.c +index 7dec696..71eb4cd 100644 +--- a/usr/discovery.c ++++ b/usr/discovery.c +@@ -32,6 +32,7 @@ + #include + #include + ++#include "iface.h" + #include "local_strings.h" + #include "types.h" + #include "iscsi_proto.h" +@@ -46,7 +47,6 @@ + #include "transport.h" + #include "iscsi_sysfs.h" + #include "iscsi_ipc.h" +-#include "iface.h" + #include "iscsi_timer.h" + #include "iscsi_err.h" + /* libisns includes */ +diff --git a/usr/discoveryd.c b/usr/discoveryd.c +index 08eb2bb..6895b43 100644 +--- a/usr/discoveryd.c ++++ b/usr/discoveryd.c +@@ -28,6 +28,7 @@ + #include + #include + ++#include "iface.h" + #include "discovery.h" + #include "idbm.h" + #include "list.h" +@@ -37,7 +38,6 @@ + #include "session_mgmt.h" + #include "iscsi_util.h" + #include "event_poll.h" +-#include "iface.h" + #include "session_mgmt.h" + #include "session_info.h" + #include "iscsi_err.h" +diff --git a/usr/host.c b/usr/host.c +index a12577c..a54b09f 100644 +--- a/usr/host.c ++++ b/usr/host.c +@@ -21,6 +21,7 @@ + #include + #include + ++#include "iface.h" + #include "list.h" + #include "iscsi_util.h" + #include "log.h" +@@ -32,7 +33,6 @@ + #include "session_info.h" + #include "transport.h" + #include "initiator.h" +-#include "iface.h" + #include "iscsi_err.h" + #include "iscsi_netlink.h" + +diff --git a/usr/idbm.c b/usr/idbm.c +index e1a9021..5467675 100644 +--- a/usr/idbm.c ++++ b/usr/idbm.c +@@ -32,6 +32,7 @@ + #include + #include + ++#include "iface.h" + #include "idbm.h" + #include "idbm_fields.h" + #include "log.h" +@@ -39,7 +40,6 @@ + #include "iscsi_settings.h" + #include "transport.h" + #include "iscsi_sysfs.h" +-#include "iface.h" + #include "sysdeps.h" + #include "fw_context.h" + #include "iscsi_err.h" +diff --git a/usr/initiator.c b/usr/initiator.c +index 684647c..5b340fc 100644 +--- a/usr/initiator.c ++++ b/usr/initiator.c +@@ -31,6 +31,7 @@ + #include + #include + ++#include "iface.h" + #include "initiator.h" + #include "transport.h" + #include "iscsid.h" +@@ -44,7 +45,6 @@ + #include "scsi.h" + #include "iscsi_sysfs.h" + #include "iscsi_settings.h" +-#include "iface.h" + #include "host.h" + #include "sysdeps.h" + #include "iscsi_err.h" +diff --git a/usr/initiator_common.c b/usr/initiator_common.c +index 6cf26c1..4387175 100644 +--- a/usr/initiator_common.c ++++ b/usr/initiator_common.c +@@ -26,6 +26,7 @@ + #include + #include + ++#include "iface.h" + #include "initiator.h" + #include "transport.h" + #include "iscsid.h" +@@ -33,7 +34,6 @@ + #include "log.h" + #include "iscsi_sysfs.h" + #include "iscsi_settings.h" +-#include "iface.h" + #include "host.h" + #include "sysdeps.h" + #include "iscsi_err.h" +diff --git a/usr/io.c b/usr/io.c +index a46c9f8..e716264 100644 +--- a/usr/io.c ++++ b/usr/io.c +@@ -30,6 +30,7 @@ + #include + #include + ++#include "iface.h" + #include "types.h" + #include "iscsi_proto.h" + #include "iscsi_settings.h" +@@ -38,7 +39,6 @@ + #include "log.h" + #include "transport.h" + #include "idbm.h" +-#include "iface.h" + #include "sysdeps.h" + + #define LOG_CONN_CLOSED(conn) \ +diff --git a/usr/iscsi_sysfs.c b/usr/iscsi_sysfs.c +index abefde2..73885e8 100644 +--- a/usr/iscsi_sysfs.c ++++ b/usr/iscsi_sysfs.c +@@ -26,6 +26,7 @@ + #include + #include + ++#include "iface.h" + #include "log.h" + #include "initiator.h" + #include "transport.h" +@@ -35,7 +36,6 @@ + #include "iscsi_sysfs.h" + #include "sysdeps.h" + #include "iscsi_settings.h" +-#include "iface.h" + #include "session_info.h" + #include "host.h" + #include "iscsi_err.h" +diff --git a/usr/iscsid.c b/usr/iscsid.c +index 478c83d..2ad9854 100644 +--- a/usr/iscsid.c ++++ b/usr/iscsid.c +@@ -39,6 +39,7 @@ + #include + #endif + ++#include "iface.h" + #include "iscsid.h" + #include "mgmt_ipc.h" + #include "event_poll.h" +@@ -50,7 +51,6 @@ + #include "idbm.h" + #include "version.h" + #include "iscsi_sysfs.h" +-#include "iface.h" + #include "session_info.h" + #include "sysdeps.h" + #include "discoveryd.h" +diff --git a/usr/iscsistart.c b/usr/iscsistart.c +index 7eb573e..7543d35 100644 +--- a/usr/iscsistart.c ++++ b/usr/iscsistart.c +@@ -33,6 +33,7 @@ + #include + #include + ++#include "iface.h" + #include "initiator.h" + #include "iscsi_ipc.h" + #include "event_poll.h" +@@ -45,11 +46,9 @@ + #include "iscsi_sysfs.h" + #include "iscsi_settings.h" + #include "fw_context.h" +-#include "iface.h" + #include "sysdeps.h" + #include "iscsid_req.h" + #include "iscsi_err.h" +-#include "iface.h" + + /* global config info */ + /* initiator needs initiator name/alias */ +diff --git a/usr/mntcheck.c b/usr/mntcheck.c +index 6ae03e0..d1dd110 100644 +--- a/usr/mntcheck.c ++++ b/usr/mntcheck.c +@@ -24,6 +24,7 @@ + #include + #include + ++#include "iface.h" + #include "initiator.h" + #include "transport.h" + #include "iscsid.h" +@@ -31,7 +32,6 @@ + #include "log.h" + #include "iscsi_sysfs.h" + #include "iscsi_settings.h" +-#include "iface.h" + #include "host.h" + #include "sysdeps.h" + #include "iscsi_err.h" +diff --git a/usr/session_mgmt.c b/usr/session_mgmt.c +index 0500f15..bc4facc 100644 +--- a/usr/session_mgmt.c ++++ b/usr/session_mgmt.c +@@ -24,11 +24,11 @@ + #include + #include + ++#include "session_info.h" + #include "idbm.h" + #include "list.h" + #include "iscsi_util.h" + #include "mgmt_ipc.h" +-#include "session_info.h" + #include "iscsi_sysfs.h" + #include "log.h" + #include "iscsid_req.h" +-- +2.43.0 + diff --git a/0031-fix-implicit-truncation-from-int-to-one-bit.patch b/0031-fix-implicit-truncation-from-int-to-one-bit.patch new file mode 100644 index 0000000..c5b7bcb --- /dev/null +++ b/0031-fix-implicit-truncation-from-int-to-one-bit.patch @@ -0,0 +1,25 @@ +From 710118f1303722671103cbdd3bf9ef5072eff695 Mon Sep 17 00:00:00 2001 +From: yuncang123 <1050706328@qq.com> +Date: Thu, 19 Sep 2024 01:03:22 +0800 +Subject: [PATCH] 34 + +--- + usr/initiator.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/usr/initiator.h b/usr/initiator.h +index dbf6f2b..a1757eb 100644 +--- a/usr/initiator.h ++++ b/usr/initiator.h +@@ -185,7 +185,7 @@ typedef struct queue_task { + iscsiadm_req_t req; + iscsiadm_rsp_t rsp; + int mgmt_ipc_fd; +- int allocated : 1; ++ unsigned int allocated : 1; + /* Newer request types include a + * variable-length payload */ + void *payload; +-- +2.43.0 + diff --git a/0032-fix-declaration-not-be-visible-outside-of-function.patch b/0032-fix-declaration-not-be-visible-outside-of-function.patch new file mode 100644 index 0000000..338dfd8 --- /dev/null +++ b/0032-fix-declaration-not-be-visible-outside-of-function.patch @@ -0,0 +1,24 @@ +From 67c9f616c1e626464e3c2628039db257e9ef562f Mon Sep 17 00:00:00 2001 +From: yuncang123 <1050706328@qq.com> +Date: Thu, 19 Sep 2024 00:34:08 +0800 +Subject: [PATCH] 33 + +--- + usr/iface.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/usr/iface.h b/usr/iface.h +index 095772e..fe099c7 100644 +--- a/usr/iface.h ++++ b/usr/iface.h +@@ -21,6 +21,7 @@ + #define ISCSI_IFACE_H + + #include ++#include + + #define IFACE_CONFIG_DIR ISCSI_CONFIG_ROOT"ifaces" + +-- +2.43.0 + diff --git a/0033-rm-unused-but-set-variable.patch b/0033-rm-unused-but-set-variable.patch new file mode 100644 index 0000000..f624bab --- /dev/null +++ b/0033-rm-unused-but-set-variable.patch @@ -0,0 +1,40 @@ +From ffba593aab7f7ff07761c2041de666ba1126a211 Mon Sep 17 00:00:00 2001 +From: yuncang123 <1050706328@qq.com> +Date: Thu, 19 Sep 2024 18:10:40 +0800 +Subject: [PATCH] rm unused + +--- + usr/discovery.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/usr/discovery.c b/usr/discovery.c +index 7dec696..8ec208b 100644 +--- a/usr/discovery.c ++++ b/usr/discovery.c +@@ -695,7 +695,6 @@ process_sendtargets_response(struct str_buffer *sendtargets, + char *end = text + str_data_length(sendtargets); + char *nul = end - 1; + char *record = NULL; +- int num_targets = 0; + + if (start == end) { + /* no SendTargets data */ +@@ -745,7 +744,6 @@ process_sendtargets_response(struct str_buffer *sendtargets, + str_truncate_buffer(sendtargets, 0); + goto done; + } +- num_targets++; + } + record = text; + } +@@ -768,7 +766,6 @@ process_sendtargets_response(struct str_buffer *sendtargets, + record, record); + if (add_target_record (record + 11, text, + drec, rec_list)) { +- num_targets++; + record = NULL; + str_truncate_buffer(sendtargets, 0); + } else { +-- +2.43.0 + diff --git a/open-iscsi.spec b/open-iscsi.spec index 7479529..5b31f47 100644 --- a/open-iscsi.spec +++ b/open-iscsi.spec @@ -4,7 +4,7 @@ Name: open-iscsi Version: 2.1.5 -Release: 14 +Release: 15 Summary: ISCSI software initiator daemon and utility programs License: GPLv2+ and BSD URL: http://www.open-iscsi.com @@ -37,6 +37,11 @@ patch25: 0025-iscsid-iscsiuio-fix-OOM-adjustment-377.patch patch26: 0026-iscsid-clear-scanning-thread-s-PR_SET_IO_FLUSHER-fla.patch patch27: 0027-iscsid-stop-connection-for-recovery-if-error-is-not-.patch patch28: 0028-discoveryd-fix-format-overflow-warning-413.patch +patch29: 0029-backport-fix-missing-underline-in-iscsid_req.h.patch +patch30: 0030-attribute-declaration-must-precede-definition.patch +patch31: 0031-fix-implicit-truncation-from-int-to-one-bit.patch +patch32: 0032-fix-declaration-not-be-visible-outside-of-function.patch +patch33: 0033-rm-unused-but-set-variable.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 @@ -91,7 +96,14 @@ This contains man files for the using of %{name}. perl -i -pe 's|^exec_prefix = /$|exec_prefix = %{_exec_prefix}|' Makefile %build +%if "%toolchain"=="clang" +CFLAGS="%{optflags} -DUSE_KMOD" \ +LDFLAGS="%{?__global_ldflags} -lkmod" \ +LIB_DIR=%{_libdir} +%make_build +%else %make_build OPTFLAGS="%{optflags} %{?__global_ldflags} -DUSE_KMOD -lkmod" LIB_DIR=%{_libdir} +%endif %install @@ -163,6 +175,9 @@ fi %{_mandir}/man8/* %changelog +* Wed Sep 25 2024 yuanchao <1050706328@qq.com> - 2.1.5-15 +- fix several bugs, support clang build + * Tue Feb 20 2024 jiangjianjun - 2.1.5-14 - update open-iscsi.spec -- Gitee