Hello community,

here is the log from the commit of package iprutils for openSUSE:Factory 
checked in at 2014-01-17 11:04:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/iprutils (Old)
 and      /work/SRC/openSUSE:Factory/.iprutils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "iprutils"

Changes:
--------
--- /work/SRC/openSUSE:Factory/iprutils/iprutils.changes        2013-12-10 
17:42:45.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.iprutils.new/iprutils.changes   2014-01-23 
15:45:32.000000000 +0100
@@ -1,0 +2,8 @@
+Fri Jan 10 16:28:38 UTC 2014 - [email protected]
+
+- version update to 2.3.16 (FATE#315573) 
+  - Support for SAS concurrent maintenance
+  - Adds support for new Crocodile based SAS adapters on x86
+  - Latest Fixes
+
+-------------------------------------------------------------------

Old:
----
  iprutils-2.3.15-src.tgz

New:
----
  iprutils-2.3.16-src.tgz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ iprutils.spec ++++++
--- /var/tmp/diff_new_pack.2BG4dI/_old  2014-01-23 15:45:33.000000000 +0100
+++ /var/tmp/diff_new_pack.2BG4dI/_new  2014-01-23 15:45:33.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package iprutils
 #
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 Name:           iprutils
 # NOTE: package's changelog is hidden in % changelog section
 # in file iprutils/spec/iprutils.spec
-Version:        2.3.15
+Version:        2.3.16
 Release:        0
 Summary:        Utilities for the IBM Power Linux RAID Adapters
 License:        CPL-1.0

++++++ iprutils-2.3.15-src.tgz -> iprutils-2.3.16-src.tgz ++++++
Files old/iprutils/.git/index and new/iprutils/.git/index differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iprutils/.git/logs/HEAD new/iprutils/.git/logs/HEAD
--- old/iprutils/.git/logs/HEAD 2013-07-03 17:59:57.000000000 +0200
+++ new/iprutils/.git/logs/HEAD 2013-11-05 20:52:17.000000000 +0100
@@ -1 +1 @@
-0000000000000000000000000000000000000000 
363a09754976f954d1d0d8576adddea4c5497b14 root 
<[email protected]> 1372867197 -0500     clone: from 
ssh://[email protected]/p/iprdd/iprutils
+0000000000000000000000000000000000000000 
540af6c0f2d70b16080be51ba8954f2c38d7ab45 root 
<[email protected]> 1383681137 -0600     clone: from 
ssh://[email protected]/p/iprdd/iprutils
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iprutils/.git/logs/refs/heads/master 
new/iprutils/.git/logs/refs/heads/master
--- old/iprutils/.git/logs/refs/heads/master    2013-07-03 17:59:57.000000000 
+0200
+++ new/iprutils/.git/logs/refs/heads/master    2013-11-05 20:52:17.000000000 
+0100
@@ -1 +1 @@
-0000000000000000000000000000000000000000 
363a09754976f954d1d0d8576adddea4c5497b14 root 
<[email protected]> 1372867197 -0500     clone: from 
ssh://[email protected]/p/iprdd/iprutils
+0000000000000000000000000000000000000000 
540af6c0f2d70b16080be51ba8954f2c38d7ab45 root 
<[email protected]> 1383681137 -0600     clone: from 
ssh://[email protected]/p/iprdd/iprutils
Files 
old/iprutils/.git/objects/pack/pack-2328e24b0e805ffb64ed84e0c778935609df82ed.idx
 and 
new/iprutils/.git/objects/pack/pack-2328e24b0e805ffb64ed84e0c778935609df82ed.idx
 differ
Files 
old/iprutils/.git/objects/pack/pack-2328e24b0e805ffb64ed84e0c778935609df82ed.pack
 and 
new/iprutils/.git/objects/pack/pack-2328e24b0e805ffb64ed84e0c778935609df82ed.pack
 differ
Files 
old/iprutils/.git/objects/pack/pack-45efb5fc99e7e2299698c9eb6ad13e719410e681.idx
 and 
new/iprutils/.git/objects/pack/pack-45efb5fc99e7e2299698c9eb6ad13e719410e681.idx
 differ
Files 
old/iprutils/.git/objects/pack/pack-45efb5fc99e7e2299698c9eb6ad13e719410e681.pack
 and 
new/iprutils/.git/objects/pack/pack-45efb5fc99e7e2299698c9eb6ad13e719410e681.pack
 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iprutils/.git/packed-refs 
new/iprutils/.git/packed-refs
--- old/iprutils/.git/packed-refs       2013-07-03 17:59:57.000000000 +0200
+++ new/iprutils/.git/packed-refs       2013-11-05 20:52:17.000000000 +0100
@@ -96,5 +96,5 @@
 5dd3d9ac1749c70d9df5d929337a366057bacfe3 refs/remotes/origin/rel-2-0-14-stable
 47a9abf270ff65e8b4f3cdeb43f7fb2d0817f242 refs/remotes/origin/rel-1-0-stable
 1ba7fa46c301dc81a557f5a0ffe315dd0e7df61b refs/remotes/origin/origin
-363a09754976f954d1d0d8576adddea4c5497b14 refs/remotes/origin/master
+540af6c0f2d70b16080be51ba8954f2c38d7ab45 refs/remotes/origin/master
 17692fd5a13e35a6d3a283fc2334a53ea07f342c refs/remotes/origin/iprutils
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iprutils/.git/refs/heads/master 
new/iprutils/.git/refs/heads/master
--- old/iprutils/.git/refs/heads/master 2013-07-03 17:59:57.000000000 +0200
+++ new/iprutils/.git/refs/heads/master 2013-11-05 20:52:17.000000000 +0100
@@ -1 +1 @@
-363a09754976f954d1d0d8576adddea4c5497b14
+540af6c0f2d70b16080be51ba8954f2c38d7ab45
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iprutils/iprconfig.c new/iprutils/iprconfig.c
--- old/iprutils/iprconfig.c    2013-07-03 17:59:57.000000000 +0200
+++ new/iprutils/iprconfig.c    2013-11-05 20:52:17.000000000 +0100
@@ -1109,9 +1109,9 @@
                /*   .        .                  .            .                 
          .          */
                
/*012345678901234567890123456789012345678901234567890123456789012345678901234567890
 */
                "OPT Name   Resource Path/Address      Vendor   Product ID      
 Status",
-               "OPT Name   PCI/SCSI Location         Description               
Status",
+               "OPT Name   PCI/SCSI Location          Description              
 Status",
                "Name   Resource Path/Address      Vendor   Product ID       
Status",
-               "Name   PCI/SCSI Location         Description               
Status",
+               "Name   PCI/SCSI Location          Description               
Status",
                "OPT SAS Port/SAS Address   Description        Active Status    
        Info",
                "OPT SAS Port/SAS Address   Description        Active Status    
        Info",
                "SAS Port/SAS Address   Description        Active Status        
    Info",
@@ -1126,9 +1126,9 @@
 
 static char *status_sep[] = {
                "--- ------ -------------------------- -------- 
---------------- -----------------",
-               "--- ------ ------------------------- ------------------------- 
-----------------",
+               "--- ------ -------------------------  
------------------------- -----------------",
                "------ -------------------------- -------- ---------------- 
-----------------",
-               "------ ------------------------- ------------------------- 
-----------------",
+               "------ -------------------------  ------------------------- 
-----------------",
                "--- --------------------- ------------------ ------ 
----------------- ----------",
                "--- ---------------------- ------------------ ------ 
----------------- ----------",
                "---------------------- ------------------ ------ 
----------------- ----------",
@@ -1635,16 +1635,22 @@
                    cmd_status.record->status == IPR_CMD_STATUS_SUCCESSFUL) {
                        if (ipr_get_blk_size(dev) == 512)
                                evaluate_device(dev, dev->ioa, 
IPR_JBOD_BLOCK_SIZE);
+                       else if (dev->ioa->support_4k && ipr_get_blk_size(dev) 
== IPR_JBOD_4K_BLOCK_SIZE)
+                               evaluate_device(dev, dev->ioa, 
IPR_JBOD_4K_BLOCK_SIZE);
                }
        } else if (dev->scsi_dev_data->type == TYPE_DISK) {
                rc = ipr_test_unit_ready(dev, &sense_data);
-
                if (!rc) {
                        if (ipr_get_blk_size(dev) == dev->ioa->af_block_size &&
                            dev->ioa->qac_data->num_records != 0) {
                                enable_af(dev);
                                evaluate_device(dev, dev->ioa, 
dev->ioa->af_block_size);
                        }
+                       else if (dev->ioa->support_4k && ipr_get_blk_size(dev) 
== IPR_AF_4K_BLOCK_SIZE &&
+                           dev->ioa->qac_data->num_records != 0) {
+                               enable_af(dev);
+                               evaluate_device(dev, dev->ioa, 
IPR_AF_4K_BLOCK_SIZE);
+                       }
                }
        }
 }
@@ -2512,10 +2518,13 @@
                        sprintf(buf, "%s", "\0");
        }
        else if (strlen(buffer)) {
-               ipr_strncpy_0(unit_phy_loc, ses->ioa->physical_location, 
PHYSICAL_LOCATION_LENGTH);
-               first_hyphen = strchr(unit_phy_loc, '-');
-               *first_hyphen = '\0';
-               sprintf(buf, "%s-%s", unit_phy_loc, buffer);
+               if (strlen(ses->ioa->physical_location)) {
+                       ipr_strncpy_0(unit_phy_loc, 
ses->ioa->physical_location, PHYSICAL_LOCATION_LENGTH);
+                       first_hyphen = strchr(unit_phy_loc, '-');
+                       *first_hyphen = '\0';
+                       sprintf(buf, "%s-%s", unit_phy_loc, buffer);
+               } else
+                       sprintf(buf, "%s", "\0");
        }
        else
                sprintf(buf, "%s", "\0");
@@ -7808,12 +7817,19 @@
 {
        struct ipr_res_path *first_rp;
        struct ipr_res_path *second_rp;
+       struct ipr_res_path no_exist_rp;
 
        if (first->ioa != second->ioa)
                return 0;
 
+       memset(&no_exist_rp, 0xff, sizeof(struct ipr_res_path));
+
        for_each_rp(first_rp, first) {
                for_each_rp(second_rp, second) {
+                       if (!memcmp(first_rp, &no_exist_rp, sizeof(*first_rp))
+                       || !memcmp(second_rp, &no_exist_rp, sizeof(*second_rp)))
+                               continue;
+
                        if (!memcmp(first_rp, second_rp, sizeof(*first_rp)))
                                return 1;
                }
@@ -8541,20 +8557,20 @@
                                        rc = ipr_test_unit_ready(dev->dev, 
&sense_data);
                                        if (rc) {
                                                done_bad = 1;
-                                       } else if (dev->new_block_size != 
ioa->af_block_size) {
+                                       } else if (!ipr_is_af_blk_size(ioa, 
dev->new_block_size)) {
                                                ipr_write_dev_attr(dev->dev, 
"rescan", "1");
                                                ipr_init_dev(dev->dev);
                                        }
                                }
 
                                if (dev->new_block_size != 0) {
-                                       if (dev->new_block_size == 
ioa->af_block_size)
+                                       if (ipr_is_af_blk_size(ioa, 
dev->new_block_size))
                                                enable_af(dev->dev);
 
                                        evaluate_device(dev->dev, ioa, 
dev->new_block_size);
                                }
 
-                               if (dev->new_block_size == ioa->af_block_size 
|| ipr_is_af_dasd_device(dev->dev))
+                               if (ipr_is_af_blk_size(ioa, 
dev->new_block_size) || ipr_is_af_dasd_device(dev->dev))
                                        ipr_add_zeroed_dev(dev->dev);
                        }
 
@@ -8613,7 +8629,6 @@
        for_each_dev_to_init(cur_dev_init) {
                if (cur_dev_init->do_init &&
                    cur_dev_init->dev_type == IPR_AF_DASD_DEVICE) {
-
                        num_devs++;
                        ioa = cur_dev_init->ioa;
 
@@ -8683,7 +8698,6 @@
                           cur_dev_init->dev_type == IPR_JBOD_DASD_DEVICE) {
                        num_devs++;
                        ioa = cur_dev_init->ioa;
-
                        scsi_dev_data = cur_dev_init->dev->scsi_dev_data;
                        if (!scsi_dev_data) {
                                cur_dev_init->do_init = 0;
@@ -8716,7 +8730,6 @@
                        mode_parm_hdr->block_desc_len = sizeof(struct 
ipr_block_desc);
 
                        block_desc = (struct ipr_block_desc *)(mode_parm_hdr + 
1);
-
                        /* xxx Setup block size */
                        if (cur_dev_init->new_block_size == ioa->af_block_size) 
{
                                block_desc->block_length[0] = 0x00;
@@ -8734,7 +8747,7 @@
                        status = ipr_mode_select(cur_dev_init->dev,
                                                 &ioctl_buffer, length);
 
-                       if (status && cur_dev_init->new_block_size == 
ioa->af_block_size) {
+                       if (status && ipr_is_af_blk_size(ioa, 
cur_dev_init->new_block_size)) {
                                cur_dev_init->do_init = 0;
                                num_devs--;
                                failure++;
@@ -13095,7 +13108,10 @@
                        return -EINVAL;
                if (!is_format_allowed(dev))
                        return -EIO;
-               add_format_device(dev, dev->ioa->af_block_size);
+               if (dev->ioa->support_4k && dev->block_dev_class & 
IPR_BLK_DEV_CLASS_4K)
+                       add_format_device(dev, IPR_AF_4K_BLOCK_SIZE);
+               else
+                       add_format_device(dev, dev->ioa->af_block_size);
                dev_init_tail->do_init = 1;
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iprutils/iprlib.c new/iprutils/iprlib.c
--- old/iprutils/iprlib.c       2013-07-03 17:59:57.000000000 +0200
+++ new/iprutils/iprlib.c       2013-11-05 20:52:17.000000000 +0100
@@ -856,6 +856,16 @@
        return NULL;
 }
 
+bool ipr_is_af_blk_size(struct ipr_ioa *ioa, int blk_sz)
+{
+
+       if (blk_sz == ioa->af_block_size ||
+                       (ioa->support_4k && blk_sz == IPR_AF_4K_BLOCK_SIZE))
+               return true;
+       else
+               return false;
+}
+
 /**
  * ipr_improper_device_type -
  * @dev:               ipr dev struct
@@ -872,10 +882,10 @@
        if (!dev->ioa->qac_data || !dev->ioa->qac_data->num_records)
                return 0;
        if (dev->scsi_dev_data->type == IPR_TYPE_AF_DISK && !dev->qac_entry &&
-           ipr_get_blk_size(dev) == IPR_JBOD_BLOCK_SIZE)
+           (ipr_get_blk_size(dev) == IPR_JBOD_BLOCK_SIZE ||
+                       (dev->ioa->support_4k && ipr_get_blk_size(dev) == 
IPR_JBOD_4K_BLOCK_SIZE)))
                return 1;
-       if (dev->scsi_dev_data->type == TYPE_DISK && dev->qac_entry &&
-           ipr_get_blk_size(dev) == dev->ioa->af_block_size)
+       if (dev->scsi_dev_data->type == TYPE_DISK && dev->qac_entry && 
ipr_is_af_blk_size(dev->ioa, ipr_get_blk_size(dev)))
                return 1;
        return 0;
 }
@@ -898,9 +908,6 @@
        u8 length = IPR_MODE_SENSE_LENGTH; /* xxx FIXME? */
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        if (strlen(name) == 0)
                return -ENOENT;
 
@@ -2738,9 +2745,6 @@
        int length = sizeof(struct ipr_cmd_status);
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        if (strlen(name) == 0)
                return -ENOENT;
 
@@ -2784,9 +2788,6 @@
        int length = sizeof(struct ipr_query_res_state);
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        if (strlen(name) == 0)
                return -ENOENT;
 
@@ -2861,9 +2862,6 @@
 
        memset(&sense_data, 0, sizeof(sense_data));
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        if (strlen(name) == 0)
                return -ENOENT;
 
@@ -2959,9 +2957,6 @@
        int rc;
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        if (strlen(name) == 0)
                return -ENOENT;
 
@@ -3138,9 +3133,6 @@
        int length = sizeof(struct ipr_read_cap);
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        if (strlen(name) == 0)
                return -ENOENT;
 
@@ -3182,9 +3174,6 @@
        int length = sizeof(struct ipr_read_cap16);
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        if (strlen(name) == 0)
                return -ENOENT;
 
@@ -3282,9 +3271,6 @@
        struct sense_data_t sense_data;
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        if (strlen(name) == 0)
                return -ENOENT;
 
@@ -3421,9 +3407,6 @@
        int length = 0, allow_restart = 0;
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        if (strlen(name) == 0)
                return -ENOENT;
 
@@ -3476,6 +3459,24 @@
        return rc;
 }
 
+static struct ipr_dev *find_multipath_jbod(struct ipr_dev *dev)
+{
+       struct ipr_ioa *ioa;
+       struct ipr_dev *multipath_dev;
+
+       for_each_sas_ioa(ioa) {
+               if (ioa == dev->ioa)
+                       continue;
+
+               for_each_dev(ioa, multipath_dev) {
+                       if (dev->scsi_dev_data->device_id == 
multipath_dev->scsi_dev_data->device_id)
+                               return multipath_dev;
+                       }
+       }
+
+       return NULL;
+}
+
 /**
  * ipr_format_unit - 
  * @dev:               ipr dev struct
@@ -3491,9 +3492,24 @@
        u8 *defect_list_hdr;
        int length = IPR_DEFECT_LIST_HDR_LEN;
        char *name = dev->gen_name;
+       char cmnd[1000];
+       struct ipr_dev *multipath_dev;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
+       if (strlen(dev->dev_name) && dev->scsi_dev_data->device_id) {
+               sprintf(cmnd, "/sbin/multipathd -k\"del path %s\" &> 
/dev/null", strrchr(dev->dev_name, '/') + 1);
+               system(cmnd);
+               sprintf(cmnd, "/bin/rm -rf %s %s%s", dev->dev_name, 
dev->dev_name, "[0-9]*");
+               system(cmnd);
+
+               multipath_dev = find_multipath_jbod(dev);
+               if (multipath_dev) {
+                       sprintf(cmnd, "/sbin/multipathd -k\"del path %s\" &> 
/dev/null", strrchr(multipath_dev->dev_name, '/') + 1);
+                       system(cmnd);
+                       sprintf(cmnd, "/bin/rm -rf %s %s%s", 
multipath_dev->dev_name, multipath_dev->dev_name , "[0-9]*");
+                       system(cmnd);
+               }
+               system("/sbin/multipath -F &> /dev/null");
+       }
 
        if (strlen(name) == 0)
                return -ENOENT;
@@ -3525,6 +3541,7 @@
                scsi_cmd_err(dev, &sense_data, "Format Unit", rc);
 
        close(fd);
+
        return rc;
 }
 
@@ -3545,9 +3562,6 @@
        int length = 0;
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        if (strlen(name) == 0)
                return -ENOENT;
 
@@ -3650,9 +3664,6 @@
        struct sense_data_t sense_data;
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        if (strlen(name) == 0)
                return -ENOENT;
 
@@ -4661,9 +4672,6 @@
        int rc;
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        if (strlen(name) == 0)
                return -ENOENT;
 
@@ -4710,9 +4718,6 @@
        int rc;
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        if (strlen(name) == 0)
                return -ENOENT;
 
@@ -5431,6 +5436,10 @@
                if (sysfs_attr)
                        ipr_strncpy_0n(scsi_dev_data->res_path, 
sysfs_attr->value, IPR_MAX_RES_PATH_LEN);
 
+               sysfs_attr = sysfs_get_device_attr(sysfs_device_device, 
"device_id");
+               if (sysfs_attr)
+                       sscanf(sysfs_attr->value, "%lX", 
&scsi_dev_data->device_id);
+
                strcpy(scsi_dev_data->dev_name,"");
                strcpy(scsi_dev_data->gen_name,"");
                num_devs++;
@@ -6856,9 +6865,6 @@
        struct ipr_disk_attr attr;
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        fd = open(name, O_RDWR);
 
        if (fd <= 1) {
@@ -7204,9 +7210,6 @@
        struct sense_data_t sense_data;
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        fd = open(name, O_RDWR);
 
        if (fd <= 1) {
@@ -8567,9 +8570,6 @@
        int rc;
        char *name = dev->gen_name;
 
-       if (strlen(dev->dev_name))
-               name = dev->dev_name;
-
        fd = open(name, O_RDWR);
        if (fd <= 1) {
                if (!strcmp(tool_name, "iprconfig") || ipr_debug)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iprutils/iprlib.h new/iprutils/iprlib.h
--- old/iprutils/iprlib.h       2013-07-03 17:59:57.000000000 +0200
+++ new/iprutils/iprlib.h       2013-11-05 20:52:17.000000000 +0100
@@ -1216,6 +1216,7 @@
        char gen_name[64];
 #define IPR_MAX_RES_PATH_LEN           24
        char res_path[IPR_MAX_RES_PATH_LEN];
+       u64 device_id;
 };
 
 struct ipr_path_entry {
@@ -2477,6 +2478,7 @@
 int ipr_query_resource_state(struct ipr_dev *, void *);
 void ipr_allow_restart(struct ipr_dev *, int);
 int ipr_get_logical_block_size(struct ipr_dev *);
+bool ipr_is_af_blk_size(struct ipr_ioa *, int);
 void ipr_set_manage_start_stop(struct ipr_dev *);
 int ipr_start_stop_start(struct ipr_dev *);
 int ipr_start_stop_stop(struct ipr_dev *);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iprutils/spec/iprutils.spec 
new/iprutils/spec/iprutils.spec
--- old/iprutils/spec/iprutils.spec     2013-07-03 17:59:57.000000000 +0200
+++ new/iprutils/spec/iprutils.spec     2013-11-05 20:52:17.000000000 +0100
@@ -1,6 +1,6 @@
 Summary: Utilities for the IBM Power Linux RAID adapters
 Name: iprutils
-Version: 2.3.15
+Version: 2.3.16
 Release: 1
 License: CPL
 Group: System Environment/Base
@@ -81,7 +81,10 @@
 %{_sysconfdir}/ha.d/resource.d/iprha
 
 %changelog
-* Tue Jul 03 2013 Wen Xiong<wenxionglinux.vnet.ibm.com> 2.3.15
+* Tue Nov 05 2013 Wen Xiong<wenxionglinux.vnet.ibm.com> 2.3.16
+- Release 2.3.16
+- Fixes a bug for 4K bytes/sector disks in iprutils
+- Fixes a bug for disk hot swap in VSES on P8
 - Release 2.3.15
 - Add support for 4K bytes/sector disks in iprutils
 - Release 2.3.14
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iprutils/version.mk new/iprutils/version.mk
--- old/iprutils/version.mk     2013-07-03 17:59:57.000000000 +0200
+++ new/iprutils/version.mk     2013-11-05 20:52:17.000000000 +0100
@@ -6,9 +6,9 @@
 
 IPR_MAJOR_RELEASE=2
 IPR_MINOR_RELEASE=3
-IPR_FIX_LEVEL=15
+IPR_FIX_LEVEL=16
 IPR_RELEASE=1
-IPR_FIX_DATE=(Jul 03, 2013)
+IPR_FIX_DATE=(Nov 05, 2013)
 
 IPR_VERSION_STR=$(IPR_MAJOR_RELEASE).$(IPR_MINOR_RELEASE).$(IPR_FIX_LEVEL) 
$(IPR_FIX_DATE)
 

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to