Hello community, here is the log from the commit of package iprutils for openSUSE:Factory checked in at 2018-06-13 15:15:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/iprutils (Old) and /work/SRC/openSUSE:Factory/.iprutils.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "iprutils" Wed Jun 13 15:15:18 2018 rev:61 rq:614471 version:2.4.16 Changes: -------- --- /work/SRC/openSUSE:Factory/iprutils/iprutils.changes 2018-03-26 13:06:59.644868022 +0200 +++ /work/SRC/openSUSE:Factory/.iprutils.new/iprutils.changes 2018-06-13 15:15:27.345293762 +0200 @@ -1,0 +2,13 @@ +Tue May 29 06:27:01 UTC 2018 - [email protected] + +- version update to 2.4.16 (fate#325179) + - Speedup for show-details + - Improve error messages when creating the arrays with RI and non-RI disks + - Fix download microcode to all devices + - Fix microcode image sorting on little endian systems + +- removed patches: + * iprutils-Fix-download-microcode-to-all-devices.patch + * iprutils-Fix-microcode-image-sorting-on-little-endian-systems.patch + +------------------------------------------------------------------- Old: ---- iprutils-2.4.15.1.tar.gz iprutils-Fix-download-microcode-to-all-devices.patch iprutils-Fix-microcode-image-sorting-on-little-endian-systems.patch New: ---- iprutils-2.4.16.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ iprutils.spec ++++++ --- /var/tmp/diff_new_pack.eul5sf/_old 2018-06-13 15:15:28.225261657 +0200 +++ /var/tmp/diff_new_pack.eul5sf/_new 2018-06-13 15:15:28.229261511 +0200 @@ -20,7 +20,7 @@ Name: iprutils # NOTE: package's changelog is hidden in % changelog section # in file iprutils/spec/iprutils.spec -Version: 2.4.15 +Version: 2.4.16 Release: 0 Summary: Utilities for the IBM Power Linux RAID Adapters License: CPL-1.0 @@ -28,8 +28,6 @@ Url: https://sourceforge.net/projects/iprdd Source0: https://sourceforge.net/projects/iprdd/files/iprutils%%20for%%202.6%%20kernels/%{version}/%{name}-%{version}.%{revision}.tar.gz Patch0: iprutils.fix_ncurses_cflags_var.patch -Patch1: iprutils-Fix-download-microcode-to-all-devices.patch -Patch2: iprutils-Fix-microcode-image-sorting-on-little-endian-systems.patch BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: systemd-rpm-macros @@ -51,8 +49,6 @@ %prep %setup -q -n %{name}-%{version}.%{revision} %patch0 -p2 -%patch1 -p1 -%patch2 -p1 %build export CPPFLAGS="$(pkg-config ncurses form --cflags)" ++++++ iprutils-2.4.15.1.tar.gz -> iprutils-2.4.16.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iprutils-2.4.15.1/configure new/iprutils-2.4.16.1/configure --- old/iprutils-2.4.15.1/configure 2017-06-19 15:37:20.000000000 +0200 +++ new/iprutils-2.4.16.1/configure 2018-05-08 17:22:14.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for iprutils 2.4.15.1. +# Generated by GNU Autoconf 2.69 for iprutils 2.4.16.1. # # Report bugs to <[email protected]>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='iprutils' PACKAGE_TARNAME='iprutils' -PACKAGE_VERSION='2.4.15.1' -PACKAGE_STRING='iprutils 2.4.15.1' +PACKAGE_VERSION='2.4.16.1' +PACKAGE_STRING='iprutils 2.4.16.1' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1337,7 +1337,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures iprutils 2.4.15.1 to adapt to many kinds of systems. +\`configure' configures iprutils 2.4.16.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1407,7 +1407,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of iprutils 2.4.15.1:";; + short | recursive ) echo "Configuration of iprutils 2.4.16.1:";; esac cat <<\_ACEOF @@ -1518,7 +1518,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -iprutils configure 2.4.15.1 +iprutils configure 2.4.16.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1995,7 +1995,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by iprutils $as_me 2.4.15.1, which was +It was created by iprutils $as_me 2.4.16.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2859,7 +2859,7 @@ # Define the identity of the package. PACKAGE='iprutils' - VERSION='2.4.15.1' + VERSION='2.4.16.1' cat >>confdefs.h <<_ACEOF @@ -13037,7 +13037,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by iprutils $as_me 2.4.15.1, which was +This file was extended by iprutils $as_me 2.4.16.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13094,7 +13094,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -iprutils config.status 2.4.15.1 +iprutils config.status 2.4.16.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iprutils-2.4.15.1/configure.ac new/iprutils-2.4.16.1/configure.ac --- old/iprutils-2.4.15.1/configure.ac 2017-06-19 15:37:02.000000000 +0200 +++ new/iprutils-2.4.16.1/configure.ac 2018-05-01 22:18:46.000000000 +0200 @@ -10,7 +10,7 @@ AC_PREREQ([2.63]) # For RC releases, version should be set to 2.4.10.0.rc1, 2.4.10.0.rc2, etc. # For GA releases, version should be set to 2.4.10.1, 2.4.10.2, etc. -AC_INIT([iprutils], [2.4.15.1], [[email protected]]) +AC_INIT([iprutils], [2.4.16.1], [[email protected]]) AM_INIT_AUTOMAKE([1.9 foreign]) AC_CONFIG_MACRO_DIR([build-aux]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iprutils-2.4.15.1/iprconfig.c new/iprutils-2.4.16.1/iprconfig.c --- old/iprutils-2.4.15.1/iprconfig.c 2017-04-19 17:55:24.000000000 +0200 +++ new/iprutils-2.4.16.1/iprconfig.c 2018-04-25 23:31:46.000000000 +0200 @@ -4102,6 +4102,7 @@ int header_lines; int toggle = 0; struct screen_output *s_out; + int is_ri_count = 0, non_ri_count = 0; rc = RC_SUCCESS; @@ -4113,12 +4114,24 @@ print_dev(k, cur_raid_cmd->dev, buffer, "1", k); for_each_af_dasd(ioa, dev) { - if (dev->dev_rcd->issue_cmd) + if (dev->dev_rcd->issue_cmd) { print_dev(k, dev, buffer, "1", k); + if (dev->block_dev_class & IPR_SSD) { + if (dev->read_intensive & IPR_RI) + is_ri_count++; + else + non_ri_count++; + } + } } } } + if (is_ri_count > 0 && non_ri_count > 0) { + rc = RC_95_Mixed_RISSD_SSDs; + return rc; + } + toggle_field = 0; do { @@ -11842,7 +11855,7 @@ if (!ioa->ioa.scsi_dev_data || ioa->ioa_dead) continue; - for_each_dev (ioa, dev) { + for_ioa_and_each_dev (ioa, dev) { if (ipr_is_volume_set(dev)) continue; @@ -14115,6 +14128,7 @@ { int i, num_devs = 0, ssd_num_devs = 0, rc, prot_level; int non_4k_count = 0, is_4k_count = 0; + int non_ri_count = 0, is_ri_count = 0; int next_raid_level, next_stripe_size, next_qdepth, next_label; char *raid_level = IPR_DEFAULT_RAID_LVL; char label[8]; @@ -14210,6 +14224,12 @@ is_4k_count++; else non_4k_count++; + + if (dev->block_dev_class & IPR_SSD) + if (dev->read_intensive & IPR_RI) + is_ri_count++; + else + non_ri_count++; } if (is_4k_count > 0 && non_4k_count > 0) { @@ -14217,6 +14237,11 @@ return -EINVAL; } + if (is_ri_count > 0 && non_ri_count > 0) { + syslog(LOG_ERR, _("SSD disks and RI SSD disks can not be mixed in an array.\n")); + return -EINVAL; + } + if (!ioa) { syslog(LOG_ERR, _("No valid devices specified.\n")); return -EINVAL; @@ -15754,7 +15779,7 @@ for_each_ioa(ioa) { if (!ioa->ioa.scsi_dev_data) continue; - for_each_dev(ioa, dev) { + for_ioa_and_each_dev(ioa, dev) { if (ipr_is_volume_set(dev)) continue; @@ -19408,11 +19433,15 @@ static int non_intenactive_cmd(char *cmd, char **args, int num_args) { int rc, i; + int show_details = 0; exit_func = cmdline_exit_func; closelog(); openlog("iprconfig", LOG_PERROR | LOG_PID | LOG_CONS, LOG_USER); - check_current_config(false); + if (!strcmp("show-details", cmd)) + show_details = 1; + + __check_current_config(false, show_details); for (i = 0; i < ARRAY_SIZE(command); i++) { if (strcmp(cmd, command[i].cmd) != 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iprutils-2.4.15.1/iprconfig.h new/iprutils-2.4.16.1/iprconfig.h --- old/iprutils-2.4.15.1/iprconfig.h 2016-04-05 14:11:35.000000000 +0200 +++ new/iprutils-2.4.16.1/iprconfig.h 2018-04-25 23:31:46.000000000 +0200 @@ -1717,6 +1717,7 @@ /* 92 */ __("Create disk array failed - can not build with read intensive disks only."), /* 93 */ __("All devices up to date"), /* 94 */ __("Temporary log file creation failed: %s"), + /* 95 */ __("Create disk array failed - can not mix SSDs and RI SSDs."), /* NOTE: 127 maximum limit */ }; @@ -1818,6 +1819,7 @@ RC_92_UNSUPT_REQ_BLK_DEV_CLASS, RC_93_All_Up_To_Date, RC_94_Tmp_Log_Fail, + RC_95_Mixed_RISSD_SSDs, /* NOTE: 127 maximum limit */ }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iprutils-2.4.15.1/iprlib.c new/iprutils-2.4.16.1/iprlib.c --- old/iprutils-2.4.15.1/iprlib.c 2017-06-16 23:10:01.000000000 +0200 +++ new/iprutils-2.4.16.1/iprlib.c 2018-04-25 23:27:18.000000000 +0200 @@ -6552,13 +6552,14 @@ } /** - * check_current_config - populates the ioa configuration data + * __check_current_config - populates the ioa configuration data * @allow_rebuild_refresh: allow_rebuild_refresh flag + * @device_details_only: Skip commands not needed for show-details * * Returns: * nothing **/ -void check_current_config(bool allow_rebuild_refresh) +void __check_current_config(bool allow_rebuild_refresh, bool device_details_only) { struct scsi_dev_data *scsi_dev_data; int num_sg_devices, rc, device_count, j, k; @@ -6695,7 +6696,7 @@ /* Send Test Unit Ready to start device if its a volume set */ /* xxx TODO try to remove this */ - if (!ipr_fast && ipr_is_volume_set(&ioa->dev[device_count])) + if (!ipr_fast && ipr_is_volume_set(&ioa->dev[device_count]) && !device_details_only) __ipr_test_unit_ready(&ioa->dev[device_count], &sense_data); device_count++; @@ -6743,7 +6744,7 @@ for_each_ra(ra, dev) memcpy(ra, &res_addr, sizeof(*ra)); - if (ipr_is_gscsi(dev) || ipr_is_af_dasd_device(dev)) + if (ipr_is_gscsi(dev) || ipr_is_af_dasd_device(dev) && !device_details_only) init_inquiry_c7(dev); if (!dev->qac_entry) @@ -6842,6 +6843,11 @@ } } +void check_current_config(bool allow_rebuild_refresh) +{ + __check_current_config(allow_rebuild_refresh, 0); +} + /** * num_devices_opens - return usage count (number of opens) for a given device * @host_num: host number @@ -8369,8 +8375,11 @@ struct ipr_fw_images *first = (struct ipr_fw_images *)parm1; struct ipr_fw_images *second = (struct ipr_fw_images *)parm2; - return memcmp(&second->version, &first->version, - sizeof(second->version)); + if (first->version < second->version) + return 1; + if (second->version > first->version) + return -1; + return 0; } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iprutils-2.4.15.1/iprlib.h new/iprutils-2.4.16.1/iprlib.h --- old/iprutils-2.4.15.1/iprlib.h 2017-06-16 23:10:01.000000000 +0200 +++ new/iprutils-2.4.16.1/iprlib.h 2018-05-01 20:08:37.000000000 +0200 @@ -1594,6 +1594,10 @@ #define for_each_dev(i, d) for (d = (i)->dev; (d - (i)->dev) < (i)->num_devices; d++) +#define for_ioa_and_each_dev(i, d) for (d = &((i)->ioa); \ + (d == &((i)->ioa)) || ((d - (i)->dev) < (i)->num_devices); \ + d = (d == &((i)->ioa)) ? (i)->dev : d + 1) + #define for_each_hotplug_dev(i, d) \ for_each_dev(i, d) \ if (ipr_is_af_dasd_device(d) || ipr_is_gscsi(d)) @@ -2811,6 +2815,7 @@ int set_ha_mode(struct ipr_ioa *, int); int set_preferred_primary(struct ipr_ioa *, int); void check_current_config(bool); +void __check_current_config(bool, bool); int num_device_opens(int, int, int, int); int open_and_lock(char *); int tool_init(int); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iprutils-2.4.15.1/spec/iprutils.spec new/iprutils-2.4.16.1/spec/iprutils.spec --- old/iprutils-2.4.15.1/spec/iprutils.spec 2017-06-19 15:37:02.000000000 +0200 +++ new/iprutils-2.4.16.1/spec/iprutils.spec 2018-05-01 22:22:00.000000000 +0200 @@ -1,6 +1,6 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils -Version: 2.4.15 +Version: 2.4.16 # For RC releases, release_prefix should be set to 0.rc1, 0.rc2, etc. # For GA releases, release_prefix should be set to 1, 2, 3, etc. %define release_prefix 1 @@ -322,6 +322,11 @@ %endif #WITH_STATIC %changelog +* Tue May 1 2018 Brian King <[email protected]> 2.4.16 +- Speedup for show-details +- Improve error messages when creating the arrays with RI and non-RI disks +- Fix download microcode to all devices +- Fix microcode image sorting on little endian systems * Mon Jun 19 2017 Brian King <[email protected]> 2.4.15 - Released iprutils 2.4.15 - Enable write cache policy for JBODs
