Commit Graph

14 Commits

Author SHA1 Message Date
ken
26bbbe8e99 Add CAM infrastructure to allow reporting when a drive's long read capacity
data changes.

cam_ccb.h:	Add a new advanced information type, CDAI_TYPE_RCAPLONG,
		for long read capacity data.

cam_xpt_internal.h:
		Add a read capacity data pointer and length to struct cam_ed.

cam_xpt.c:	Free the read capacity buffer when a device goes away.
		While we're here, make sure we don't leak memory for other
		malloced fields in struct cam_ed.

scsi_all.c:	Update the scsi_read_capacity_16() to take a uint8_t * and
		a length instead of just a pointer to the parameter data
		structure.  This will hopefully make this function somewhat
		immune to future changes in the parameter data.

scsi_all.h:	Add some extra bit definitions to struct
		scsi_read_capacity_data_long, and bump up the structure
		size to the full size specified by SBC-3.

		Change the prototype for scsi_read_capacity_16().

scsi_da.c:	Register changes in read capacity data with the transport
		layer.  This allows the transport layer to send out an
		async notification to interested parties.  Update the
		dasetgeom() API.

		Use scsi_extract_sense_len() instead of
		scsi_extract_sense().

scsi_xpt.c:	Add support for the new CDAI_TYPE_RCAPLONG advanced
		information type.

		Make sure we set the physpath pointer to NULL after freeing
		it.  This allows blindly freeing it in the struct cam_ed
		destructor.

sys/param.h:	Bump __FreeBSD_version from 1000005 to 1000006 to make it
		easier for third party drivers to determine that the read
		capacity data async notification is available.

camcontrol.c,
mptutil/mpt_cam.c:
		Update these for the new scsi_read_capacity_16() argument
		structure.

Sponsored by:	Spectra Logic
2012-01-26 18:09:28 +00:00
uqs
415a3a9b96 Spelling fixes for usr.sbin/ 2011-12-30 10:58:14 +00:00
jhb
225a98d446 Similar to mfiutil, drop local definition of powerof2() and use version
from <sys/param.h> instead.
2010-11-22 14:36:04 +00:00
jhb
8b07784b8b - Save errno values before calling warn(3) so that errors are correctly
reported.
- Check for malloc() failures.

Submitted by:	gcooper
MFC after:	1 week
2010-11-09 19:28:06 +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
224caf9be0 Spelling fixes. 2010-08-01 09:37:36 +00:00
sbruno
d9c5ce3637 Syntax, commas and stuff. Comments from jhb.
PR:		bin/147572
MFC after:	2 weeks
2010-06-21 18:01:57 +00:00
sbruno
72002cd955 Expand man page to document the fact that mptutil/mpt doesn't support RAID volumes in excess of 2TB. Document workaround via geom or zfs
Modified submitter's original patch to reference why this is broken and what to do to work around the issue.

Submitted by:	hubert@tournier.org
PR:		bin/147572
Reviewed by:	jhb
MFC after:	2 weeks
2010-06-17 19:28:56 +00:00
uqs
64c451d29e mdoc: move remaining sections into consistent order
This pertains mostly to FILES, HISTORY, EXIT STATUS and AUTHORS sections.

Found by:	mdocml lint run
Reviewed by:	ru
2010-05-13 12:08:11 +00:00
ru
7cea019b6c Fixed static linkage. 2010-02-26 09:41:16 +00:00
jhb
564efe918f Fix mptutil's method for locating disk devices attached to a specific
mpt(4) controller.  Previously, the code assumed that multiple match
patterns provided to an XPT_DEV_MATCH request were ANDed together.
Instead, they are ORed.  Instead, to match peripherals for a specific bus,
one query needs to be performed to lookup the path ID of the bus.  A second
query can then be performed matching peripherals attached to that path.
This approach also makes the code a bit cleaner as the returned match
results do not mix bus and perphierals.

Reported by:	several folks
MFC after:	1 week
2010-02-19 15:16:00 +00:00
jhb
e2e4685935 - Don't emit a warning in 'show adapter' if the IOC2 or IOC6 pages are not
present.  mpt(4) controllers that do not support RAID do not have an IOC6
  page, for example.
- Correct a check for a missing page error in a debug function.

MFC after:	1 week
2010-02-19 14:31:01 +00:00
scottl
d16c7b9f57 Update the mptutil man page for FreeBSD 8.0
Approved by:	re
2009-08-17 06:15:44 +00:00
scottl
485a598922 Add mptutil, a basic utility for managing MPT SCSI/SATA/SAS controllers.
Drive and controller status can be reported, basic attributes changed,
and arrays and spares can be created and deleted.

Approved by:	re
Obtained from:	Yahoo! Inc.
2009-08-14 13:13:12 +00:00