Commit Graph

53 Commits

Author SHA1 Message Date
John Baldwin
186ddf9631 - Fix an off by one error when checking for the stop event. This resulted
in not showing the most recent event by default.
- When the stop even is hit, break out of the outer loop to stop fetching
  more events.

MFC after:	1 week
2014-04-22 15:17:32 +00:00
John Baldwin
4099f0ec42 Don't claim the adapter is idle if it is clearing a drive.
MFC after:	1 week
2014-04-22 15:15:54 +00:00
Dimitry Andric
4abd7edcbd Split the last gcc-specific flags off into CFLAGS.gcc. This also
removes the need to use -Qunused-arguments for clang throughout the
tree.

MFC after:	3 days
2014-01-05 21:03:49 +00:00
Sean Bruno
4a40e59f97 svn r251516 resized the buf argument a bit too much. Pass a hardcoded
size of 6 to humanize_number() to resolve this.

PR:		184405
Submitted by:	jhb
MFC after:	2 weeks
2013-12-04 00:28:44 +00:00
Sean Bruno
43a3230ade Noted that the stripe_size argument was not being displayed in the usage
message

MFC after:	2 weeks
2013-11-12 17:10:56 +00:00
Joel Dahl
13121e810d mdoc: remove superfluous paragraph macro. 2013-11-08 23:08:01 +00:00
Sean Bruno
ee7a2acac5 Add support for controlling mfi(4) controller properties:
allow user control of rebuild rate
allow user control of silence/enable alarm

MFC after:	2 weeks
Sponsored by:	Yahoo! Inc.
2013-11-07 21:47:59 +00:00
Sean Bruno
7c2ad1ee5c Add support to reconfigure a drive as SYSPD (real JBOD in LSI
terminology).

Adds command "mfiutil syspd <drive#>" to change a drive to SYSPD.  Drive
will then be scanned/reported immediately as /dev/mfisyspdX by the host.

"mfiutil good <drive#>" clears SYSPD mode, remove /dev/mfisyspdX and
sets disk into UNCONFIGURED mode.

Tested on Dell H310 SAS/SATA RAID controller.

MFC after:	2 weeks
Sponsored by:	Yahoo! Inc.
2013-08-26 12:05:38 +00:00
Sean Bruno
06f1884fa8 Implement foreign volume handling. Allows admins to view foreign metadata
and clear or import it for use.

PR:     kern/172091
Submitted by:   smh@freebsd.org
Reviewed by:    jhb@freebsd.org
MFC after:      2 weeks
2013-06-08 02:54:59 +00:00
Mark Johnston
252d859338 Add a remark to the effect that a manually started relearn will always
result in the battery being completely drained, even in transparent learning
mode.

MFC in:		3 days
Sponsored by:	Sandvine Inc.
2013-05-13 15:00:36 +00:00
Mark Johnston
8f66059200 Switch to a 2-clause license.
Approved by:	emaste (co-mentor)
X-MFC with:	r249257
2013-04-08 18:25:07 +00:00
Mark Johnston
dee3e845aa Add support for getting and setting BBU properties related to battery
relearning. Specifically, add subcommands to mfiutil(8) which allow the
user to set the BBU and autolearn modes when the firmware supports it,
and add a subcommand which kicks off a battery relearn.

Reviewed by:	sbruno, rstone
Tested by:	sbruno
Approved by:	rstone (co-mentor)
MFC after:	2 weeks
Sponsored by:	Sandvine Incorporated
2013-04-08 17:46:45 +00:00
Ed Schouten
186475e2dd 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 Schouten
bf70becee6 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
Matt Jacob
0896d52530 Fix ARM compilation issue.
X-MFC: 237260
2012-06-20 17:20:25 +00:00
Eitan Adler
41b8cbda7d 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
Eitan Adler
bf4ec4dfab 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
Sean Bruno
f8b329b0bf Decode new battery status indications.
Requires r235634

Reviewed by:	ambrisko@
MFC after:	3 days
2012-05-18 21:50:26 +00:00
Doug Ambrisko
b53011f9cf 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
Doug Ambrisko
1d8f043a74 Now that mfi(4) header files uses the absolute number of entries to
make the mfi_array 288 bytes, remove this magic number and the
calculations that go with it.  Use the MFI_MAX_ROW_SIZE and
sizeof(struct mfi_array) in place of the prior calculations.

Change reporting a disk as "SYSTEM" when it is a "JBOD" reported
by the firmware and MegaCli.  A JBOD appears as /dev/mfisyspd<n>.

This also means the mfiutil command to "create jbod" is now a
little confusing since a RAID per drive is not really what LSI
defines JBOD to be.  In the future mfiutil should have an option
to create real JBOD's and enable that option in RAID controllers
that support it.  In testing, it appears the RAID cache is not
used with JBOD but is with the RAID per disk.  When this is
implemented more testing should be done to determine the pro's and
con's of JBOD versus RAID per disk.

Reviewed by:	jhb
2012-03-28 18:35:07 +00:00
Joel Dahl
46355096e1 mdoc: correct .Bd/.Bl arguments.
Reviewed by:	brueffer
2012-03-26 21:22:53 +00:00
Joel Dahl
c0cbd1c6f1 Remove superfluous paragraph macro. 2012-03-25 09:18:34 +00:00
John Baldwin
1b202316ec 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
Xin LI
6dc3afae75 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
Ed Maste
f1e7af36c0 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
Ed Maste
b08d3049f0 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
John Baldwin
2e5df98a18 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
Bjoern A. Zeeb
64371599f0 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
John Baldwin
c0ca022a34 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
Bjoern A. Zeeb
7bbae305a1 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
Bjoern A. Zeeb
30d1616ed8 Add 'show logstate' to usage().
MFC after:	1 week
2011-06-18 21:08:27 +00:00
Bjoern A. Zeeb
375c46563c 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
Ed Maste
aacea6e251 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
John Baldwin
98be0dfebd 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
Sergey Kandaurov
0e24a634ce 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
John Baldwin
8b22f43d9d 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
John Baldwin
b09e402ad0 Preserve errno in an error case.
Submitted by:	gcooper
2011-03-17 21:24:32 +00:00
John Baldwin
100ec05ae5 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
Sergey Kandaurov
023c93f2c8 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
John Baldwin
3c22a809ec 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
Benedict Reuschling
08e0d464ba Fix typo. 2010-11-04 10:47:19 +00:00
John Baldwin
c02999d982 - 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
Sergey Kandaurov
08f2463092 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 Harper
0c019d8c6e 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 Harper
4ee8bfc521 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 Dahl
f6ac23919b Fix typos and spelling mistakes. 2010-08-06 14:33:42 +00:00
Joel Dahl
d4352d2928 Spelling fixes. 2010-08-01 09:37:36 +00:00
Ruslan Ermilov
bee10047c0 Fixed dependencies (make checkdpadd). 2010-02-25 20:24:19 +00:00
Scott Long
b1f3db024c Update the man page for manual section 8
Approved by:	re
2009-08-17 06:15:08 +00:00
Scott Long
d78c3fa1d3 Update the man page for FreeBSD 8.0
Approved by:	re
2009-08-17 06:11:30 +00:00