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-08-26 23:14:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/open-iscsi (Old) and /work/SRC/openSUSE:Factory/.open-iscsi.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "open-iscsi" Thu Aug 26 23:14:11 2021 rev:107 rq:913882 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/open-iscsi/open-iscsi.changes 2021-07-22 22:43:37.899178596 +0200 +++ /work/SRC/openSUSE:Factory/.open-iscsi.new.1899/open-iscsi.changes 2021-08-26 23:14:18.208273903 +0200 @@ -1,0 +2,6 @@ +Fri Aug 20 17:11:46 UTC 2021 - Lee Duncan <[email protected]> + +- Merged latest upstream, which includes: + * iscsid: set PR_SET_IO_FLUSHER (bsc#1188869) + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ open-iscsi-SUSE-latest.diff.bz2 ++++++ --- /var/tmp/diff_new_pack.02QmgA/_old 2021-08-26 23:14:18.876273311 +0200 +++ /var/tmp/diff_new_pack.02QmgA/_new 2021-08-26 23:14:18.880273308 +0200 @@ -33,6 +33,64 @@ ExecStop=/sbin/iscsiadm -m node --logoutall=automatic ExecStop=/sbin/iscsiadm -m node --logoutall=manual SuccessExitStatus=21 15 +diff --git a/iscsiuio/src/unix/libs/bnx2x.c b/iscsiuio/src/unix/libs/bnx2x.c +index 0e326d4c949a..7481e86161a6 100644 +--- a/iscsiuio/src/unix/libs/bnx2x.c ++++ b/iscsiuio/src/unix/libs/bnx2x.c +@@ -350,6 +350,13 @@ static int bnx2x_is_drv_version_unknown(struct bnx2x_driver_version *version) + return 0; + } + ++static void bnx2x_set_drv_version_default(bnx2x_t *bp) ++{ ++ bp->version.major = BNX2X_DEFAULT_MAJOR_VERSION; ++ bp->version.minor = BNX2X_DEFAULT_MINOR_VERSION; ++ bp->version.sub_minor = BNX2X_DEFAULT_SUB_MINOR_VERSION; ++} ++ + /** + * bnx2x_get_drv_version() - Used to determine the driver version + * @param bp - Device used to determine bnx2x driver version +@@ -405,8 +412,7 @@ static int bnx2x_get_drv_version(bnx2x_t *bp) + } + bp->version.sub_minor = atoi(tok); + +- LOG_INFO(PFX "%s: bnx2x driver using version %d.%d.%d", +- nic->log_name, ++ LOG_INFO(PFX "%s: interface version %d.%d.%d", nic->log_name, + bp->version.major, bp->version.minor, bp->version.sub_minor); + + close(fd); +@@ -710,7 +716,14 @@ static int bnx2x_open(nic_t *nic) + /* If version is unknown, go read from ethtool */ + rc = bnx2x_get_drv_version(bp); + if (rc) +- goto open_error; ++ bnx2x_set_drv_version_default(bp); ++ else if (!(bnx2x_is_ver60_plus(bp) || bnx2x_is_ver52(bp))) ++ bnx2x_set_drv_version_default(bp); ++ ++ LOG_INFO(PFX "%s: bnx2x Use baseline version %d.%d.%d", ++ nic->log_name, ++ bp->version.major, bp->version.minor, ++ bp->version.sub_minor); + } else { + /* Version is not unknown, just use it */ + bnx2x_version.major = bp->version.major; +diff --git a/iscsiuio/src/unix/libs/bnx2x.h b/iscsiuio/src/unix/libs/bnx2x.h +index ce55cfc29d49..e204cbb7f49f 100644 +--- a/iscsiuio/src/unix/libs/bnx2x.h ++++ b/iscsiuio/src/unix/libs/bnx2x.h +@@ -615,6 +615,9 @@ struct ustorm_eth_rx_producers { + __u16 reserved; + }; + ++#define BNX2X_DEFAULT_MAJOR_VERSION 1 ++#define BNX2X_DEFAULT_MINOR_VERSION 70 ++#define BNX2X_DEFAULT_SUB_MINOR_VERSION 1 + #define BNX2X_UNKNOWN_MAJOR_VERSION -1 + #define BNX2X_UNKNOWN_MINOR_VERSION -1 + #define BNX2X_UNKNOWN_SUB_MINOR_VERSION -1 diff --git a/usr/idbm.c b/usr/idbm.c index b94b61701a13..e1a9021666e8 100644 --- a/usr/idbm.c @@ -145,6 +203,45 @@ break; case MODE_NODE: if (do_login_all) { +diff --git a/usr/iscsid.c b/usr/iscsid.c +index dc54fec39764..478c83d897c1 100644 +--- a/usr/iscsid.c ++++ b/usr/iscsid.c +@@ -34,6 +34,7 @@ + #include <sys/wait.h> + #include <sys/types.h> + #include <sys/stat.h> ++#include <sys/prctl.h> + #ifndef NO_SYSTEMD + #include <systemd/sd-daemon.h> + #endif +@@ -56,6 +57,10 @@ + #include "iscsid_req.h" + #include "iscsi_err.h" + ++#ifndef PR_SET_IO_FLUSHER ++#define PR_SET_IO_FLUSHER 57 ++#endif ++ + /* global config info */ + struct iscsi_daemon_config daemon_config; + struct iscsi_daemon_config *dconfig = &daemon_config; +@@ -616,6 +621,15 @@ int main(int argc, char *argv[]) + exit(ISCSI_ERR); + } + ++ if (prctl(PR_SET_IO_FLUSHER, 1, 0, 0, 0) == -1) { ++ if (errno == EINVAL) { ++ log_info("prctl could not mark iscsid with the PR_SET_IO_FLUSHER flag, because the feature is not supported in this kernel. Will proceed, but iscsid may hang during session level recovery if memory is low.\n"); ++ } else { ++ log_error("prctl could not mark iscsid with the PR_SET_IO_FLUSHER flag due to error %s\n", ++ strerror(errno)); ++ } ++ } ++ + set_state_to_ready(); + event_loop(ipc, control_fd, mgmt_ipc_fd); + diff --git a/usr/iscsistart.c b/usr/iscsistart.c index 755489fc7951..7eb573e0f60a 100644 --- a/usr/iscsistart.c
