Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package open-iscsi for openSUSE:Factory checked in at 2021-05-02 18:35:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/open-iscsi (Old) and /work/SRC/openSUSE:Factory/.open-iscsi.new.1947 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "open-iscsi" Sun May 2 18:35:27 2021 rev:104 rq:889089 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/open-iscsi/open-iscsi.changes 2021-03-18 22:54:05.847476186 +0100 +++ /work/SRC/openSUSE:Factory/.open-iscsi.new.1947/open-iscsi.changes 2021-05-02 18:35:55.784995437 +0200 @@ -1,0 +2,16 @@ +Wed Apr 28 16:26:08 UTC 2021 - Lee Duncan <ldun...@suse.com> + +- Local (SUSE) change: update iscsi.service so that it tries to + logon to any "onboot" and firmware targets, in case a target + was offline when booted but back up when the service is started. + (bsc#1153806) + +------------------------------------------------------------------- +Wed Apr 28 15:34:43 UTC 2021 - Lee Duncan <ldun...@suse.com> + +- Merged with latest from upstream, which contains these fixes: + * Add "no wait" option to iscsiadm firmware login + * Check for ISCSI_ERR_ISCSID_NOTCONN in iscsistart + * Log proper error message when AUTH failure occurs + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ open-iscsi-2.1.4-suse.tar.bz2 ++++++ ++++++ open-iscsi-SUSE-latest.diff.bz2 ++++++ --- /var/tmp/diff_new_pack.WXfTX8/_old 2021-05-02 18:35:56.588992011 +0200 +++ /var/tmp/diff_new_pack.WXfTX8/_new 2021-05-02 18:35:56.592991994 +0200 @@ -0,0 +1,157 @@ +diff --git a/doc/iscsiadm.8 b/doc/iscsiadm.8 +index 3729a7297619..5fc69287ddcf 100644 +--- a/doc/iscsiadm.8 ++++ b/doc/iscsiadm.8 +@@ -123,6 +123,7 @@ iscsiadm \- open-iscsi administration utility + .RB [ \-d + .IR debug_level ] + .RB [ \-l ] ++.RB [ \-W ] + .PP + .B iscsiadm + .B \-m host +@@ -304,7 +305,8 @@ This option is only valid for node mode (it is valid but not functional + for session mode). + .TP + \fB\-W\fR, \fB\-\-\-no_wait\fR +-In node mode, do not wait for a response from the targets. ++In node, discovery, or firmware mode, ++do not wait for a response from the targets. + This means that success will be returned if the command is able to + send the login requests, whether or not they succeed. In this case, it will + be up to the caller to poll for success (i.e. session creation). +diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service +index 5e394b9a7248..3d468b9f1ad7 100644 +--- a/etc/systemd/iscsi.service ++++ b/etc/systemd/iscsi.service +@@ -9,6 +9,8 @@ Wants=network-online.target + [Service] + Type=oneshot + ExecStart=/sbin/iscsiadm -m node --loginall=automatic -W ++ExecStart=/sbin/iscsiadm -m node --loginall=onboot -W ++ExecStart=/sbin/iscsiadm -m fw -l -W + ExecStop=/sbin/iscsiadm -m node --logoutall=automatic + ExecStop=/sbin/iscsiadm -m node --logoutall=manual + SuccessExitStatus=21 15 +diff --git a/usr/iscsiadm.c b/usr/iscsiadm.c +index 41b7e6f25539..192da6609dde 100644 +--- a/usr/iscsiadm.c ++++ b/usr/iscsiadm.c +@@ -114,7 +114,7 @@ static const struct verify_mode_t mode_paras[] = { + [MODE_SESSION] = {"session", "PiRdrmusonuSv", 1}, + [MODE_HOST] = {"host", "CHdmPotnvxA", 0}, + [MODE_IFACE] = {"iface", "HIdnvmPoCabci", 0}, +- [MODE_FW] = {"fw", "dml", 0}, ++ [MODE_FW] = {"fw", "dmlW", 0}, + }; + + static struct option const long_options[] = +@@ -163,12 +163,12 @@ static void usage(int status) + printf("\ + iscsiadm -m discoverydb [-hV] [-d debug_level] [-P printlevel] [-t type -p ip:port -I ifaceN ... [-Dl]] | [[-p ip:port -t type] \ + [-o operation] [-n name] [-v value] [-lD]] \n\ +-iscsiadm -m discovery [-hV] [-d debug_level] [-P printlevel] [-t type -p ip:port -I ifaceN ... [-l]] | [[-p ip:port] [-l | -D]] \n\ ++iscsiadm -m discovery [-hV] [-d debug_level] [-P printlevel] [-t type -p ip:port -I ifaceN ... [-l]] | [[-p ip:port] [-l | -D]] [-W]\n\ + iscsiadm -m node [-hV] [-d debug_level] [-P printlevel] [-L all,manual,automatic,onboot] [-W] [-U all,manual,automatic,onboot] [-S] [[-T targetname -p ip:port -I ifaceN] [-l | -u | -R | -s]] \ + [[-o operation ] [-n name] [-v value]]\n\ + iscsiadm -m session [-hV] [-d debug_level] [-P printlevel] [-r sessionid | sysfsdir [-R | -u | -s] [-o operation] [-n name] [-v value]]\n\ + iscsiadm -m iface [-hV] [-d debug_level] [-P printlevel] [-I ifacename | -H hostno|MAC] [[-o operation ] [-n name] [-v value]] [-C ping [-a ip] [-b packetsize] [-c count] [-i interval]]\n\ +-iscsiadm -m fw [-d debug_level] [-l]\n\ ++iscsiadm -m fw [-d debug_level] [-l] [-W]\n\ + iscsiadm -m host [-P printlevel] [-H hostno|MAC] [[-C chap [-x chap_tbl_idx]] | [-C flashnode [-A portal_type] [-x flashnode_idx]] | [-C stats]] [[-o operation] [-n name] [-v value]] \n\ + iscsiadm -k priority\n"); + } +@@ -3014,7 +3014,7 @@ done: + } + + static int exec_fw_op(discovery_rec_t *drec, struct list_head *ifaces, +- int info_level, int do_login, int op) ++ int info_level, int do_login, int op, bool wait) + { + struct boot_context *context; + LIST_HEAD(targets); +@@ -3043,7 +3043,10 @@ static int exec_fw_op(discovery_rec_t *drec, struct list_head *ifaces, + break; + } + +- iscsi_login_portal(NULL, NULL, rec); ++ if (wait) ++ iscsi_login_portal(NULL, NULL, rec); ++ else ++ iscsi_login_portal_nowait(rec); + free(rec); + } + } else { +@@ -3202,7 +3205,7 @@ static int exec_disc2_op(int disc_type, char *ip, int port, + } + + drec.type = DISCOVERY_TYPE_FW; +- rc = exec_fw_op(&drec, ifaces, info_level, do_login, op); ++ rc = exec_fw_op(&drec, ifaces, info_level, do_login, op, true); + goto done; + default: + rc = ISCSI_ERR_INVAL; +@@ -3263,7 +3266,8 @@ static int exec_disc_op(int disc_type, + int do_discover, + int op, + __attribute__((unused))struct list_head *params, +- int do_show) ++ int do_show, ++ bool wait) + { + struct discovery_rec drec; + int rc = 0; +@@ -3319,7 +3323,7 @@ static int exec_disc_op(int disc_type, + break; + case DISCOVERY_TYPE_FW: + drec.type = DISCOVERY_TYPE_FW; +- rc = exec_fw_op(&drec, ifaces, info_level, do_login, op); ++ rc = exec_fw_op(&drec, ifaces, info_level, do_login, op, wait); + break; + default: + if (ip) { +@@ -3801,7 +3805,7 @@ main(int argc, char **argv) + usage(ISCSI_ERR_INVAL); + + if (mode == MODE_FW) { +- rc = exec_fw_op(NULL, NULL, info_level, do_login, op); ++ rc = exec_fw_op(NULL, NULL, info_level, do_login, op, wait); + goto out; + } + +@@ -3904,7 +3908,7 @@ main(int argc, char **argv) + case MODE_DISCOVERY: + rc = exec_disc_op(type, ip, port, &ifaces, info_level, + do_login, do_discover, op, ¶ms, +- do_show); ++ do_show, wait); + break; + case MODE_NODE: + if (do_login_all) { +diff --git a/usr/iscsistart.c b/usr/iscsistart.c +index 755489fc7951..206cd4ca9826 100644 +--- a/usr/iscsistart.c ++++ b/usr/iscsistart.c +@@ -259,7 +259,8 @@ static int login_session(struct node_rec *rec) + rc = iscsid_exec_req(&req, &rsp, 0, tmo); + if (rc == 0) { + return rc; +- } else if (rc == ISCSI_ERR_SESSION_NOT_CONNECTED) { ++ } else if (rc == ISCSI_ERR_SESSION_NOT_CONNECTED || ++ rc == ISCSI_ERR_ISCSID_NOTCONN) { + ts.tv_sec = msec / 1000; + ts.tv_nsec = (msec % 1000) * 1000000L; + +diff --git a/usr/login.c b/usr/login.c +index 2508c48b734e..8af8756242af 100644 +--- a/usr/login.c ++++ b/usr/login.c +@@ -624,7 +624,7 @@ check_security_stage_status(iscsi_session_t *session, + case AUTH_STATUS_ERROR: + case AUTH_STATUS_FAIL: + default: +- if (acl_get_dbg_status(auth_client, &debug_status) != ++ if (acl_get_dbg_status(auth_client, &debug_status) == + AUTH_STATUS_NO_ERROR) + log_error("Login authentication failed " + "with target %s, %s",