Commit Graph

40 Commits

Author SHA1 Message Date
ed
e65c2d3d07 Remove redundant code.
Both mfi_flash.c and mfi_show.c contain very similar functions to print
a list of firmwares. Move these routines into mfiutil.c.

Reported by:	jhb
2012-10-20 10:20:06 +00:00
ed
af31e8843c More -Wmissing-variable-declarations fixes.
In addition to adding `static' where possible:

- bin/date: Move `retval' into extern.h to make it visible to date.c.
- bin/ed: Move globally used variables into ed.h.
- sbin/camcontrol: Move `verbose' into camcontrol.h and fix shadow warnings.
- usr.bin/calendar: Remove unneeded variables.
- usr.bin/chat: Make `line' local instead of global.
- usr.bin/elfdump: Comment out unneeded function.
- usr.bin/rlogin: Use _Noreturn instead of __dead2.
- usr.bin/tset: Pull `Ospeed' into extern.h.
- usr.sbin/mfiutil: Put global variables in mfiutil.h.
- usr.sbin/pkg: Remove unused `os_corres'.
- usr.sbin/quotaon, usr.sbin/repquota: Remove unused `qfname'.
2012-10-19 14:49:42 +00:00
mjacob
3d41a91978 Fix ARM compilation issue.
X-MFC: 237260
2012-06-20 17:20:25 +00:00
eadler
27063437e2 Add __unused macros to appropriate places in order to allow building
with WARNS=6 on base gcc, gcc46, and clang

Approved by:	cperciva
MFC after:	1 week
2012-06-19 06:18:42 +00:00
eadler
a60d1f6e5a Allow users with RO privilege to the device to read the RO attributes.
PR:		bin/167302
Submitted by:	markham breitbach <markham@ssimicro.com>
Discussed with:	pjd (briefly)
Approved by:	cperciva
MFC after:	1 week
2012-06-19 06:18:37 +00:00
sbruno
90b88756cf Decode new battery status indications.
Requires r235634

Reviewed by:	ambrisko@
MFC after:	3 days
2012-05-18 21:50:26 +00:00
ambrisko
06e0880c2c MFhead_mfi r233621
Remove the magic mfi_array is 288 bytes and just use the
        sizeof the array since it is not 288 bytes.

        Change reporting of a "SYSTEM" disk to "JBOD" to match
        LSI MegaCli and firmware reporting.

        This means that fiutil command to "create jbod" is now a
        little confusing since a RAID per drive is not really what
        LSI defines JBOD to be.  This should be fixed in the future
        and support added to really create LSI JBOD and enable that
        feature on cards that support it.
2012-03-30 23:39:39 +00:00
joel
906214101c mdoc: correct .Bd/.Bl arguments.
Reviewed by:	brueffer
2012-03-26 21:22:53 +00:00
joel
e3d7180447 Remove superfluous paragraph macro. 2012-03-25 09:18:34 +00:00
jhb
d43195ec00 Use the correct volume identifier field when parsing MR_EVT_ARG_LD_STRIP
arguments.

MFC after:	2 weeks
2011-12-05 15:11:35 +00:00
delphij
b050d953ee In build_volume(), check if arrays is allocated before traversing its
items.  While parsing the arrays input, it's possible that we reach the
error path before initializing the 'arrays' pointer, which in turn leads
to a NULL deference.

Submitted by:	Garrett Cooper
MFC after:	1 week
2011-11-29 08:16:14 +00:00
emaste
d213dca17e Avoid double free creating a new RAID with invalid command line arguments.
Submitted by:	Xin Huang <xhuang sandvine com>
Reviewed by:	rstone@
MFC after:	1 week
2011-11-23 17:02:27 +00:00
emaste
42f9fc1b3f Improve battery capacity reporting
When a status pointer is passed in mfi_dcmd_command does not return an
errno (if the ioctl is successful), so move the test for NO_HW_PRESENT
outside of the error case.  This should fix incorrect reporting for
systems with a dead or no battery.

Additionally, handle error codes other than NO_HW_PRESENT by omitting
the battery capacity display.  LSI's supercap-based parts (CV series)
report their data using the same interface as battery-based parts,
except that they do not include the capacity stats (state of charge,
cumulative charge cycles, etc.)

Reviewd by:   jhb, bz
Tested by:    pluknet@, Garrett Cooper
PR:           bin/160581
MFC after:    1 week
2011-09-27 14:28:07 +00:00
jhb
8e8f8c0971 Move the logic to parse volume cache commands out into a separate function
and use a loop so that multiple cache commands can be strung together on
the command line into a single update to the volume's properties.

Reviewed by:	bz
Approved by:	re (kib)
MFC after:	1 week
2011-09-02 16:00:51 +00:00
bz
d491106e41 If a drive is not part of the array (i.e. missing) we need to print the
new line after the pd state information as well, so move it to the outside
of the block.

Submitted by:	Mark Johnston at Sandvine Inc
MFC atfer:	3 days
Approved by:	re (kib)
2011-08-25 08:47:38 +00:00
jhb
3b6f1df0b0 Properly initialize an error variable to avoid returning uninitialized
data when 'show drives' succeeds, often resulting in a failing exit code
even though the command worked fine.

Reviewed by:	bz
Approved by:	re (kib)
MFC after:	3 days
2011-07-29 20:24:04 +00:00
bz
418b801093 Add global -d and -e options to either print device numbers
(usually default) or enclosure:slot information as (Exx:Sxx)
or both.

Discussed with:		jhb
Reviewed by:		jhb
Sponsored by:		Sandvine Incorporated
MFC after:		1 week
2011-06-20 21:28:50 +00:00
bz
da94288998 Add 'show logstate' to usage().
MFC after:	1 week
2011-06-18 21:08:27 +00:00
bz
7c90f6cd22 Contrary to when returning in all-good cases at the end of functions we
did not free memory (1) or close the file descriptor (2) in error cases.

Reported by:	Mark Johnston (1)
Reported by:	attilio (2)
Reviewed by:	jhb
Sponsored by:	Sandvine Incorporated
MFC after:	1 week
2011-06-09 19:52:28 +00:00
emaste
11e6bdb86e There are a couple of structs in mfireg.h with members named 'class'.
These cause problems when trying to include the header in a C++ project.
Rename them to 'evt_class', and track the change in mfi and mfiutil.

Submitted by:	Mark Johnston
Sponsored by:	Sandvine Incorporated
Reviewed by:	jhb@
MFC after:	1 week
2011-06-02 00:43:16 +00:00
jhb
bcef521d66 Add a 'show progress' command that shows a summary of all in-progress
commands for a given adapter.  Specifically, it shows the status of any
drive or volume activities currently in progress similar to the
'drive process' and 'volume progress' commands.

Reviewed by:	emaste
MFC after:	1 week
2011-04-29 14:06:37 +00:00
pluknet
334823faa1 Fix typo in "continuously" argument used in patrol auto command.
Obtained from:	Sascha Wildner <saw att online dott de>
Approved by:	jhb
MFC after:	3 days
2011-04-27 14:58:06 +00:00
jhb
4fde1ce654 Add the ability to manage the state of write caching when the battery
back-up is missing or dead.  The current state of this field is reported
in 'mfiutil cache <volume>' and can be adjusted via
'mfiutil cache <volume> bad-bbu-write-cache <enable|disable>'.  This
setting should generally be disabled to avoid data loss.

MFC after:	1 week
2011-04-05 14:19:05 +00:00
jhb
1ad2b56110 Preserve errno in an error case.
Submitted by:	gcooper
2011-03-17 21:24:32 +00:00
jhb
01b38dc45f Add more details to the 'show battery' command including more raw
capacity values, charge cycle count, temperature, and more detailed
status.

Reviewed by:	bz, emaste (older version)
MFC after:	1 week
2011-03-17 17:29:46 +00:00
pluknet
7d4c7b1304 Fix division by zero, causing floating point exception in a drive progress
command.

It was possible to read a value of zero from a busy controller used
as the divisor to calculate the remaining rebuild time.

Reported by:	Pavel Udovenko <udovenko att nic.ru>
Discussed with:	jhb
Approved by:	kib (mentor)
MFC after:	1 week
2011-02-25 13:59:59 +00:00
jhb
449d913c20 Handle malloc() failures more gracefully by error'ing out rather than
segfaulting.

Submitted by:	gcooper
MFC after:	1 week
2010-11-19 15:39:59 +00:00
bcr
8362b61a77 Fix typo. 2010-11-04 10:47:19 +00:00
jhb
ab04f918b7 - Save errno values before calling warn(3) so that errors are correctly
reported.
- Use powerof2() from <sys/param.h> rather than a copy and paste version.

Submitted by:	gcooper
MFC after:	1 week
2010-10-26 19:11:09 +00:00
pluknet
5697d0d3c3 Enable copyback and system PD states.
Reviewed by:	jhb
Approved by:	avg (mentor)
MFC after:	1 week
X-MFC-After:	r214130
2010-10-21 10:46:18 +00:00
randi
f3e9ac8a0e Fix compile with -DDEBUG by using the correct mfi_pd_ref union definition
in mfireg.h.

Submitted by:	gcooper
Reviewed by:	jhb
Approved by:	cperciva (mentor)
MFC after:	1 week
2010-10-10 20:54:01 +00:00
randi
0c20df5714 Report subcommand handler errors in mfiutil/mptutil so that tools that
invoke the utilities can robustly report errors.

Submitted by:	gcooper
Reviewed by:	jhb
Approved by:	cperciva (mentor)
MFC after:	1 week
2010-10-10 20:37:38 +00:00
joel
f4e8725880 Fix typos and spelling mistakes. 2010-08-06 14:33:42 +00:00
joel
224caf9be0 Spelling fixes. 2010-08-01 09:37:36 +00:00
ru
4d27ff91d0 Fixed dependencies (make checkdpadd). 2010-02-25 20:24:19 +00:00
scottl
0efc788aba Update the man page for manual section 8
Approved by:	re
2009-08-17 06:15:08 +00:00
scottl
5d1f917332 Update the man page for FreeBSD 8.0
Approved by:	re
2009-08-17 06:11:30 +00:00
scottl
6192c3dbaf Move mfiutil.1 to mfiutil.8 for consistency. Remove superfulous README.
Approved by:	re
2009-08-17 06:05:55 +00:00
scottl
4677d973d9 Fix is 32bit bug missed in testing.
Approved by:	re
2009-08-14 12:30:10 +00:00
scottl
f0c0cd58a9 ntroduce mfiutil, a basic utility for managing LSI SAS-RAID & Dell PERC5/6
controllers.  Controller, array, and drive status can be checked, basic
attributes can be changed, and arrays and spares can be created and deleted.
Controller firmware can also be flashed.

This does not replace MegaCLI, found in ports, as that is officially sanctioned
and supported by LSI and includes vastly more functionality.  However, mfiutil
is open source and guaranteed to provide basic functionality, which can be
especially useful if you have a problem and can't get MegaCLI to work.

Approved by:    re
Obtained from:  Yahoo! Inc.
2009-08-13 23:18:45 +00:00