Commit graph

539 commits

Author SHA1 Message Date
Brian King
d994320173 iprutils: Save known zeroed state for command line format
Ensure the known zeroed state gets saved in the adapter following
a format unit command from the command line.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-07-18 12:53:55 -05:00
Brian King
7fb69a75ad iprutils: Remove unnecessary iprconfig prompt on exit
Since newer firmware versions now support tracking of the known zeroed state
for AF DASD disks, we don't need to warn the user about exiting iprconfig
when there are known zeroed disks if the adapter has this support.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-07-18 12:53:44 -05:00
Brian King
cd8f102219 iprutils: Format timeout and format block size fixes
This patch fixes some issues related to disk formatting. First,
it queries the disk to determine the optimal timeout to use for
a format command. This fixes format timeout issues on very large
capacity disks. Second, this also fixes up the 5xx/4k sector
size handling to ensure we don't end up mistakenly reformatting
drives to the wrong block size. This was primarily an issue
for drives that ended up in medium format corrupt and the subsequent
format then did the wrong thing.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-07-18 12:53:20 -05:00
Brian King
7c3eeee806 iprutils: Fix format timeout issue on little endian systems
Fix a possible format timeout issue for large disks on little endian systems.
We need to byte swap the 2 byte timeout field.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-07-18 12:52:58 -05:00
Brian King
3488dbe214 iprutils: Display sr device name
Display the /dev/sr device name for optical devices.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
2016-07-13 17:35:04 -05:00
Brian King
739861281d iprutils: Collect additional logs with iprsos
Enhance iprsos to collect some missing log files.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
2016-07-13 17:34:57 -05:00
Brian King
8ee2a9de03 iprutils: Flush unused multipaths prior to array delete
When formatting a JBOD disk to AF, we unbind the /dev/sd
device nodes prior to starting the format in order to
avoid strange errors from cropping up. Additionally, we
also flush the unused multipath device maps for the same
reason. When we delete a RAID array, although delete the
/dev/sd device nodes prior to deleting the RAID array,
we weren't flushing the unused multipaths, so let's do that.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
2016-07-13 17:34:45 -05:00
Gabriel Krisman Bertazi
5f16659136 iprutils: Display higher link rates in path details.
SPL-4 defines a couple of higher values for the negotiated link rates
that were not defined in iprutils, causing us to display the default
value "Enabled" for link rates higher than 6.0Gbps in
query-path-details. This was found when working with the drawer ESLS.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-04-17 16:37:19 -05:00
Brian King
284b6d8bd3 iprutils: Version 2.4.11
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-04-06 11:20:59 -05:00
Brian King
3ea740cea0 iprutils: Version 2.4.11.0.rc1
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-04-05 17:04:20 -05:00
Brian King
5f27fe6d0d iprutils: Clarify Read Intensive SSD report verbiage
Clarify the verbiage used for the SSD report for read intensive SSDs.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-04-05 16:50:36 -05:00
Brian King
3c9890a5e2 iprutils: Add LSB package dependency for RHEL 6 build
The iprutils init.d scripts require the redhat-lsb on RHEL 6 in order
to function. Add this as a dependency.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-04-05 16:50:34 -05:00
Gabriel Krisman Bertazi
b0c2b4d0a0 iprutils: Enable time configuration for SES enclosures.
Some new external drawers like ESLS have an internal clock, used by the
internal microcode.  This patch enables iprinit to configure the clock
at boot time.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-04-05 15:41:23 -05:00
Wen Xiong
c847ce9054 iprutils: Add maximum queue depth in GUI when creating an array
This patch added maximum queue depth in GUI when creating an array. Also
fixed some issues in query-qdepth and set-qdepth.

Signed-off-by: Wen Xiong <wenxiong@linux.vnet.ibm.com>
Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-04-05 15:28:08 -05:00
Gabriel Krisman Bertazi
06be237b4f iprutils: Don't fail with minimum array rebuild rate.
When user passed 0x0 to old firmwares, rebuild rate would be set to the
implementation default value, defined by SIS, and any further read to
Mode Page 0x24 would display 0x0 in the Rebuild Rate field.  Newer
firmwares, on the other hand, will correctly set the rebuild rate to the
implementation defined value, but the Mode Page field will display the
configured value, instead of 0x0.  This causes iprutils to believe the
new configuration has failed, and error out.

The Implementation defined value used by every IPR adapter out there is
the minimum rebuild rate possible, 2/16, which translates to 0x2 in the
Mode page field.  This patch gives iprutils the notion of the minimum
rebuild rate, and supports this scenario, so we don't fail when the user
requests a rebuild rate of 0.

To avoid confusing the user, we also make the values go from 10 to 100
instead of 0-100.  If the user wants to enable the default setting,
instead of typing 0, he needs to use 'default'.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-04-05 08:25:16 -05:00
Gabriel Krisman Bertazi
7b26b451b0 iprutils: Support Write buffer with smaller buffer length.
Some new enclosures, like ESLS only supports a limited buffer of 4k
bytes during SCSI Write Buffer calls. This means that doing a single
Write Buffer with mode 0Eh to download a large microcode will fail with
an Illegal Request.  This patch adds a fallback mode to the Write Buffer
command in iprlib, allowing it to limit the buffer block size to 4K, in
case the single full write fails.  If the device supports large buffers,
behavior remains unchanged, and iprlib can only issue a single write.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-04-05 07:11:52 -05:00
Brian King
3aa2da9936 Merge branch 'leitao-master'
Merge debian build fixes.

Signed-off-by: Breno Leitao <brenohl@br.ibm.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-04-01 15:49:39 -05:00
Brian King
8add34cf1b Merge branch 'master' of https://github.com/leitao/iprutils-1 into leitao-master
Merge debian build fixes.

Signed-off-by: Breno Leitao <brenohl@br.ibm.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-04-01 15:45:04 -05:00
Heitor Ricardo Alves de Siqueira
3340918f42 iprutils: fix build error for older zlib versions
The use of gzclose_r() may break some builds depending on the version of zlib
that is being used. Since that function is identical to gzclose() apart from
some differences in static code linkage, we can swap them without any changes to
program behaviour.

Signed-off-by: Heitor Ricardo Alves de Siqueira <halves@linux.vnet.ibm.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-04-01 15:28:21 -05:00
Brian King
ca551fe3c4 iprutils: Fixup build issues
When I pushed commit 855e7fd ("iprutils: Enable editor choice for new log system")
I had to manually merge them and ended up missing a couple of files which didn't get
pushed. This fixes that up.

Reported-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-03-28 16:17:51 -05:00
Breno Leitao
9c78171d18 Remove hardcoded systemctl path from iprsos
Although not usual, systemd binaries could be somewhere else other than
/usr/bin. This patch just remove this hard coded dependency.

This patch come from the Debian maintainer Colin Watson
<cjwatson@debian.org>

Signed-off-by: Breno Leitao <brenohl@br.ibm.com>
2016-03-28 17:14:56 -03:00
Breno Leitao
8993d42441 Fix device_id scanning on 32-bit systems
scsi_dev_data->device_id is a u64, so should be scanned with %llX rather
than %lX.  On 32-bit big-endian systems I believe this will scan the
device_id into the wrong half of the 64-bit value.

This patch come from the Debian maintainer Colin Watson
<cjwatson@debian.org>

Signed-off-by: Breno Leitao <brenohl@br.ibm.com>
2016-03-28 17:13:26 -03:00
Breno Leitao
3340309de7 Support force-reload options on daemon scripts
Support force-reload options, which is useful and it is required be by
Debian policy.

This patch come from the Debian maintainer Colin Watson
<cjwatson@debian.org>

Signed-off-by: Breno Leitao <brenohl@br.ibm.com>
2016-03-28 17:09:35 -03:00
Brian King
0ae2cde30e iprutils: Fix view log segfault regression
Fix up a couple of possible segfaults in the new error log
parsing code that could occur if iprconfig is run by a user that
does not have read access to the logs.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-03-25 16:50:14 -05:00
Heitor Ricardo Alves de Siqueira
855e7fdf25 iprutils: Enable editor choice for new log system
Introducing a new wrapper function in iprconfig that invokes an editor
chosen by the user for log viewing.

Signed-off-by: Heitor Ricardo Alves de Siqueira <halves@linux.vnet.ibm.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-03-25 16:36:55 -05:00
Heitor Ricardo Alves de Siqueira
1f24b814e5 iprutils: Remove system() calls from log functions
This commit rewrites some functions in iprconfig that are used to
display log information to the user. We now use standard C code instead
of system() calls and other OS utilities like grep. To view the
requested log info, the less pager is invoked with the environment
variable LESSSECURE set to 1 to prevent arbitrary command execution.

This commit also introduces a zlib depency to iprutils. This is needed
so that we can seamlessly work with compressed and uncompressed log files.

Changes since v1:
- moved invoke-pager() to iprconfig.c
- DEFAULT_EDITOR doesn't use an absolute path
- renamed some variables to make code more intelligible
- added a new entry to screen_status[] in iprconfig.h
- substituted return values with semantic literals from iprconfig.h
- added missing free() because of tmp_log
- fixed static build

Signed-off-by: Heitor Ricardo Alves de Siqueira <halves@linux.vnet.ibm.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-03-25 16:35:08 -05:00
Gabriel Krisman Bertazi
b5a86b653a iprutils: Fail query-raid-create/delete if device is not an IOA.
iprconfig man page requires an IOA to be passed to query-raid-create and
query-raid-delete.  Right now, iprconfig doesn't enforce it, allowing
disk devices to be passed as parameters, which is confusing.  I found
that when playing with raid initialization code. Let's fix it.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-03-25 16:08:00 -05:00
Gabriel Krisman Bertazi
bc9ea702f0 iprutils: Show RAID initialization in get_status.
Detect when a RAID is going through initialization process after
creation to display the progress in get_status.  Now, the 'initializing'
state will be shown in 'show-config', for instance when creating a RAID
0 from a device assumed to be non-zeroed, it will show as "X%
Initializing" during DIF initialization.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-03-25 16:07:57 -05:00
Gabriel Krisman Bertazi
e634f1753b iprutils: Fetch rebuild rate for single adapter setup.
The Array Rebuild Rate parameter was only getting read from Mode Page
0x24 for dual initiator adapters, which caused iprconfig to display the
wrong rate value for a single adapter setup.  This patch fixes the issue,
by fetching this value for every IOA that supports page 0x24,
independent of the current IOA setup.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-03-25 16:00:40 -05:00
Gabriel Krisman Bertazi
44a3c21843 iprutils: Improve documentation on set-array-rebuild-rate.
Explain in the man page that iprutils might not set the exact value when
configuring the rebuild rate.  Instead, it will convert the percentage
value provided by the user to a integer value in the range 0-15 before
writing to the adapter.  This means, that we only approximate to the
rate requested by the user and the return of 'query-array-rebuild-rate'
may not be the exact value previously passed to
'set-array-rebuild-rate'.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-03-25 16:00:34 -05:00
Gabriel Krisman Bertazi
379bf9b449 iprutils: Mark devices as 4K even if IOA doesn't support 4K AF DASD
If you put a JBOD 4K disk in an IOA that doesn't support 4K AF devices
it will work, but iprconfig will not recognize it as
IPR_BLK_DEV_CLASS_4K. In this case, when we try to format it for RAID,
iprconfig will try to set the block size as 512, which will fail the
format command silently.  This patch makes sure IPR_BLK_DEV_CLASS_4K is
set for every 4K device, despite the IOA supporting 4K AF devices or
not.  Then, the verification for it in format_for_raid():13852 will
actually work, and we will abort the format earlier with an error
message, instead of failing silently.

Setting IPR_BLK_DEV_CLASS_4K for every device should not be an issue,
since in every other place it is referenced, we also check for
dev->ioa->support_4k and ipr_is_af_dasd_device().

This also adds a '\n' at the end of the error message cited above, to
improve readability.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-03-25 14:31:43 -05:00
Gabriel Krisman Bertazi
21d09f798d ipr: Avoid segfault if scsi_dev_data == NULL.
If there's a device without scsi_dev_data in the list of devices,
iprconfig might segfault when formatting a device for an array. This
prevents this scenario.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-03-04 17:06:26 -06:00
Thomas Petazzoni
ed9da50d11 iprlib: fixes for compatibility with musl
<bits/sockaddr.h> is an internal C library header, which is not
guaranteed to be available in all C libraries, so it shouldn't be
included, otherwise iprutils cannot be built with musl.

<limits.h> is needed to get the definition of PATH_MAX.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-03-04 17:01:10 -06:00
Bernd Kuhls
d7cfe35b97 configure.ac: use pow() instead of matherr() for libm check
In certain configurations of uClibc, the matherr() function may not be
provided by the C library, which makes the current configure.ac check
for libm fail. However, iprutils does not use matherr(), so using this
function for the test makes little sense.

This patch adjusts configure.ac to test for pow() instead, which is
actually used by iprutils, and more commonly available, including in
uClibc.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-03-04 17:00:19 -06:00
Vicente Olivert Riera
4512cfb915 iprutils: Don't use gettext
... since we don't have any translation.

Based on the former patch by Jeremy Kerr.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
[Thomas: adapt to the new autotools build system.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-03-04 16:59:24 -06:00
Brian King
0d97bab5f6 iprutils: Don't set obsolete flags on Format Unit command
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-02-24 13:25:19 -06:00
Gabriel Krisman Bertazi
da3fe0fc80 iprutis: Don't show RAID migration level for secondary devices.
When query-raid-levels-migrate is issued to a secondary (Non-optimized)
device on a dual adapter configuration, we send a Query Array
configuration with the Array Migrate Query option, which ends up
retrieving every RAID level supported by the adapter instead of only
returning the possible migration level candidates.

This patch blocks query-raid-levels-migrate for RAIDS that aren't ready
for migration, which avoids displaying impossible level candidates for
secondary devices and better complies with the behavior of the ncurses
interface.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-02-08 09:45:22 -06:00
Heitor Ricardo Alves de Siqueira
c82bf3950e iprutils: Flush multipath maps in ipr_format_unit
Since commit 0b693bd29c (iprutils: Unbind device before JBOD -> AF
formatting), multipath and /dev/sd device removal is done by the
binding and unbinding operations prior to formatting. We can now remove
the manual 'rm' calls in ipr_format_unit() and just flush unused multipath maps.
This patch also fixes a missing function prototype for the aforementioned commit.

Signed-off-by: Heitor Ricardo Alves de Siqueira <halves@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-02-08 09:41:09 -06:00
Brian King
25bac9e585 iprinit: Don't log errors if ipr driver not loaded
If the iprinit service is enabled but there are no ipr adapters
on the system and therefore the ipr driver is not loaded, let's not
log any messages in the log telling the user they need to manually
run iprinit to ensure their RAID adapters are running optimally.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-01-27 16:24:46 -06:00
Brian King
22ce7f0a74 iprutils: Version 2.4.10
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-01-19 10:14:05 -06:00
Brian King
d98ea866fe iprutils: 2.4.10-rc1
Created 2.4.10-rc1 release for testing.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-01-15 14:39:05 -06:00
Brian King
29f90f31f6 iprutils: Device statistics menu selection fixup
Tweak the wording of the new device statistics menu.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-01-13 17:11:59 -06:00
Gabriel Krisman Bertazi
bc0fb714a3 iprutils: Add Device Statistics menu.
This adds a new top level menu to display some statistics of devices.
If the adapter is an AF DASD we show the output of show-perf and if it
is a RI SSD, we show the same output as ssd-report.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-01-13 16:17:05 -06:00
Brian King
f87af15f25 iprutils: Create configuration menu.
Refactor the top level menu, creating a sub-menu for devices
configuration.  Internals is also reworked to reduce code duplication.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-01-13 16:16:25 -06:00
Brian King
7cb33d1cfe iprutils: Don't use uninitialized variable
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-01-12 16:07:44 -06:00
Gabriel Krisman Bertazi
8401269f8a iprutils: Configure sync cache using GUI.
Add a new RAID parameter to allow configuration of vset cache through
the ncurses interface, in the raid creation screen.

Changes from last iteration:
  - Safe guard references to input_field[4] to prevent accesses to it
  when sync cache is not available.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-01-12 14:02:46 -06:00
Gabriel Krisman Bertazi
af23f84e06 ipr: Avoid inconsistent information about caching mode.
If we are on an old Bare Metal system (i.e. without the sync cache
kernel patches), but with a firmware recent enough to support page 0xC4
for Sync cache, iprconfig is tricked into thinking that a non-caching
adapter has some kind of cache available.  Therefore, it'll end up
printing misleading information, which confuses users and trigger lots
of bug reports.

This patch makes the bug reports stop arriving by dealing with this
case and fixing up the wrong information.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-01-12 10:08:07 -06:00
Gabriel Krisman Bertazi
aa585f920b iprutils: Fix RAID Migration failure on Little Endian systems.
raid-migrate command fails on Little Endian machines if the stripe size
is not specified.  This happens because iprconfig will fallback to the
current stripe size of the RAID, loading it from the adapter without
doing proper endianness conversion.  This patch fixes the issue by
properly converting the data before using it.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2016-01-11 13:54:31 -06:00
Heitor Ricardo Alves de Siqueira
0b693bd29c iprutils: Unbind device before JBOD -> AF formatting.
Introducing a new function for binding and unbinding a JBOD device, which is
used before formatting and in case we need to rollback because of a
failure. This prevents overlength errors when a read is issued to the disk
during formatting.

Changes since v1:
- Added two missing close() to ipr_jbod_sysfs_bind()

Signed-off-by: Heitor Ricardo Alves de Siqueira <halves@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2015-12-02 16:42:08 -06:00
Gabriel Krisman Bertazi
34a722b3a0 iprutils: Implement SSD Fuel Gauge.
New ssd-report command allow users to inquiry some info on their
read-intensive SSDs, like life expectancy and usage stats, so they can
know when their SSD will wear out.

Changes since v2:
 - Change uint32_t to u32. Likewise for uint64_t.
 - Change perif_type to peri_qual_dev_type in log page C4h and C7h.
 - Change error code returned in ssd_report to -EIO.

Changes since v1:
 - Comply to the latest SAS Spec.
 - Fix negative life remaining values.
 - Trigger PFA Trip if other parameters exist in the log page.
 - Implement common interface in iprlib to search specific parameters in
   a log page.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
2015-12-02 16:36:39 -06:00