Commit Graph

13768 Commits

Author SHA1 Message Date
Kenneth D. Merry
1cc052e80f Add descriptor sense support to CAM, and honor sense residuals properly in
CAM.

Desriptor sense is a new sense data format that originated in SPC-3.  Among
other things, it allows for an 8-byte info field, which is necessary to
pass back block numbers larger than 4 bytes.

This change adds a number of new functions to scsi_all.c (and therefore
libcam) that abstract out most access to sense data.

This includes a bump of CAM_VERSION, because the CCB ABI has changed.
Userland programs that use the CAM pass(4) driver will need to be
recompiled.

camcontrol.c:	Change uses of scsi_extract_sense() to use
		scsi_extract_sense_len().

		Use scsi_get_sks() instead of accessing sense key specific
		data directly.

scsi_modes:	Update the control mode page to the latest version (SPC-4).

scsi_cmds.c,
scsi_target.c:	Change references to struct scsi_sense_data to struct
		scsi_sense_data_fixed.  This should be changed to allow the
		user to specify fixed or descriptor sense, and then use
		scsi_set_sense_data() to build the sense data.

ps3cdrom.c:	Use scsi_set_sense_data() instead of setting sense data
		manually.

cam_periph.c:	Use scsi_extract_sense_len() instead of using
		scsi_extract_sense() or accessing sense data directly.

cam_ccb.h:	Bump the CAM_VERSION from 0x15 to 0x16.  The change of
		struct scsi_sense_data from 32 to 252 bytes changes the
		size of struct ccb_scsiio, but not the size of union ccb.
		So the version must be bumped to prevent structure
		mis-matches.

scsi_all.h:	Lots of updated SCSI sense data and other structures.

		Add function prototypes for the new sense data functions.

		Take out the inline implementation of scsi_extract_sense().
		It is now too large to put in a header file.

		Add macros to calculate whether fields are present and
		filled in fixed and descriptor sense data

scsi_all.c:	In scsi_op_desc(), allow the user to pass in NULL inquiry
		data, and we'll assume a direct access device in that case.

		Changed the SCSI RESERVED sense key name and description
		to COMPLETED, as it is now defined in the spec.

		Change the error recovery action for a number of read errors
		to prevent lots of retries when the drive has said that the
		block isn't accessible.  This speeds up reconstruction of
		the block by any RAID software running on top of the drive
		(e.g. ZFS).

		In scsi_sense_desc(), allow for invalid sense key numbers.
		This allows calling this routine without checking the input
		values first.

		Change scsi_error_action() to use scsi_extract_sense_len(),
		and handle things when invalid asc/ascq values are
		encountered.

		Add a new routine, scsi_desc_iterate(), that will call the
		supplied function for every descriptor in descriptor format
		sense data.

		Add scsi_set_sense_data(), and scsi_set_sense_data_va(),
		which build descriptor and fixed format sense data.  They
		currently default to fixed format sense data.

		Add a number of scsi_get_*() functions, which get different
		types of sense data fields from either fixed or descriptor
		format sense data, if the data is present.

		Add a number of scsi_*_sbuf() functions, which print
		formatted versions of various sense data fields.  These
		functions work for either fixed or descriptor sense.

		Add a number of scsi_sense_*_sbuf() functions, which have a
		standard calling interface and print the indicated field.
		These functions take descriptors only.

		Add scsi_sense_desc_sbuf(), which will print a formatted
		version of the given sense descriptor.

		Pull out a majority of the scsi_sense_sbuf() function and
		put it into scsi_sense_only_sbuf().  This allows callers
		that don't use struct ccb_scsiio to easily utilize the
		printing routines.  Revamp that function to handle
		descriptor sense and use the new sense fetching and
		printing routines.

		Move scsi_extract_sense() into scsi_all.c, and implement it
		in terms of the new function, scsi_extract_sense_len().
		The _len() version takes a length (which should be the
		sense length - residual) and can indicate which fields are
		present and valid in the sense data.

		Add a couple of new scsi_get_*() routines to get the sense
		key, asc, and ascq only.

mly.c:		Rename struct scsi_sense_data to struct
		scsi_sense_data_fixed.

sbp_targ.c:	Use the new sense fetching routines to get sense data
		instead of accessing it directly.

sbp.c:		Change the firewire/SCSI sense data transformation code to
		use struct scsi_sense_data_fixed instead of struct
		scsi_sense_data.  This should be changed later to use
		scsi_set_sense_data().

ciss.c:		Calculate the sense residual properly.  Use
		scsi_get_sense_key() to fetch the sense key.

mps_sas.c,
mpt_cam.c:	Set the sense residual properly.

iir.c:		Use scsi_set_sense_data() instead of building sense data by
		hand.

iscsi_subr.c:	Use scsi_extract_sense_len() instead of grabbing sense data
		directly.

umass.c:	Use scsi_set_sense_data() to build sense data.

		Grab the sense key using scsi_get_sense_key().

		Calculate the sense residual properly.

isp_freebsd.h:	Use scsi_get_*() routines to grab asc, ascq, and sense key
		values.

		Calculate and set the sense residual.

MFC after:	3 days
Sponsored by:	Spectra Logic Corporation
2011-10-03 20:32:55 +00:00
Dimitry Andric
324d7156d7 Revive the LLVM and Clang license files, which were removed in my
too-thorough cleanup of unused files, in r213695.  Also make sure these
get installed under /usr/share/doc.

Submitted by:	rwatson, brooks
Pointy hat to:	dim
MFC after:	3 days
2011-09-29 18:12:40 +00:00
Glen Barber
cc13988649 Whitespace cleanup in build(7).
MFC after:	1 week
Need-MFC:	225858
2011-09-29 02:57:08 +00:00
Glen Barber
170c2788cb Document, and provide an example for, PORTS_MODULES in build(7).
PR:		161017
Submitted by:	gcooper
MFC after:	1 week
2011-09-29 02:52:33 +00:00
Eitan Adler
a2f4ffd69c - fix whitespace issue in calendar
- add a n after \

Submitted by:	brueffer
Approved by:	bapt (mentor)
2011-09-28 20:46:52 +00:00
Eitan Adler
576d2da4ac - add myself to committers-ports.dot
Approved by:	sahil (mentor)
2011-09-28 18:56:02 +00:00
Sergey Kandaurov
06dafde167 Fix typo in OSIOCGIFADDR.
MFC after:	3 days
2011-09-27 07:05:41 +00:00
Gabor Kovesdan
99e108b4cf - Move misplaced reference [1]
- Sort references [1]
- s/Since/Because/ [2]

Submitted by:	arundel [1],
		Chad Perrin <perrin@apotheon.com> [2]
MFC after:	3 days
2011-09-27 07:00:24 +00:00
Robert Millan
a9f5cd4156 Add myself to committers-src.dot.
Approved by:	kib (mentor)
2011-09-27 05:30:52 +00:00
Ken Smith
fe24d0b791 Forgot to add "RELENG_8" to list of CVS tags.
Submitted by:	Mamontov Roman <mr.xanto at gmail.com>
Approved by:	re (implicit)
2011-09-26 11:57:48 +00:00
Ken Smith
8a3b6cc1e1 Shift head from 9.0-CURRENT to 10.0-CURRENT in preparation for releasing
it from the 9.0-RELEASE release cycle code freeze.

Approved by:	re (implicit)
2011-09-26 02:27:04 +00:00
Hiroki Sato
e71abe6562 - Document $ipv6_cpe_wanif.
- Emphasize $ipv6_enable and $ipv6_prefer are deprecated.
- Add more detail descriptions about $ipv6_activate_all_interfaces.
- Add some more examples of $ifconfig_IF_ipv6.
- rtsold(8) and rtadvd(8) can be used even when ipv6_gateway_enable=NO now.

Approved by:	re (kib)
2011-09-19 16:00:55 +00:00
Carlo Strub
18e5ceed6b Add myself and connect me with my mentors
Approved by:	re@, glarkin@
2011-09-16 22:57:50 +00:00
Lawrence Stewart
f772f9fe43 Rename the cc.4 and cc.9 modular congestion control related man pages to
mod_cc.4 and mod_cc.9 respectively to avoid any possible confusion with the cc.1
gcc man page. Update references to these man pages where required.

Requested by:	Grenville Armitage
Approved by:	re (kib)
MFC after:	3 days
2011-09-15 12:15:36 +00:00
Doug Barton
073d48133f Correct the RFC number for the description of IPv6 privacy addressing
Reviewed by:	bz
Approved by:	re (kib)
2011-09-15 09:22:49 +00:00
Adrian Chadd
d2849f27bc Ensure that ta_pending doesn't overflow u_short by capping its value at USHRT_MAX.
If it overflows before the taskqueue can run, the task will be
re-added to the taskqueue and cause a loop in the task list.

Reported by:	Arnaud Lacombe <lacombar@gmail.com>
Submitted by:	Ryan Stone <rysto32@gmail.com>
Reviewed by:	jhb
Approved by:	re (kib)
MFC after:	1 day
2011-09-15 08:42:06 +00:00
Gavin Atkinson
d3dbe2d0e3 Include descriptions for keymaps missing from INDEX.keymaps. This fixes
the five keymaps referred to only by filename on the keymap selection
screen of bsdinstall.

Approved by:	re (kib)
MFC after:	1 week
2011-09-13 21:15:23 +00:00
Konstantin Belousov
43fae19e34 Document vm_page_aflag_set(9), vm_page_aflag_clear(9) and vm_page_reference(9).
Retire vm_page_flag_set() and vm_page_flag_clear() functions.

Reviewed by:	alc
Approved by:	re (bz)
2011-09-06 10:40:21 +00:00
Gavin Atkinson
c18b2beaa1 Add my doc mentor/mentee relationships.
Approved by:	re (kib), bcr, jkois (mentors)
2011-09-03 12:59:05 +00:00
Doug Barton
6fae67da24 Upgrade to BIND version 9.8.1. Release notes at:
https://deepthought.isc.org/article/AA-00446/81/
or
/usr/src/contrib/bind9/

Approved by:	re (kib)
2011-09-03 07:13:45 +00:00
Christian Brueffer
df52324232 Wording, grammar and markup cleanup.
PR:		159948
Submitted by:	Ben Kaduk <kaduk@mit.edu>
Approved by:	re (kib)
2011-09-02 18:52:28 +00:00
Christian Brueffer
ea96972a8b Remove an incorrect apostrophe.
PR:		160267
Submitted by:	Warren Block <wblock@wonkity.com>
Approved by:	re (kib)
MFC after:	1 week
2011-09-02 18:37:48 +00:00
Ralf S. Engelschall
f92578026d Fix a little typo and get rid of a cryptic description by aligning the
text to the remaining description.

Approved by: re
2011-09-02 18:13:46 +00:00
Christian Brueffer
8348113cef Remove broken link to supported wifi cards. There doesn't appear to
be an equivalent list anywhere else.

PR:		157778
Submitted by:	Ted Mittelstaedt <tedm@mittelstaedt.us>
Approved by:	re (blackend)
MFC after:	1 week
2011-08-28 10:10:31 +00:00
Christian Brueffer
04114c5ee3 Remove information and MLINK for MULTI_DRIVER_MODULE().
The macro was removed in r121129 almost 8 years ago.

PR:		150244
Submitted by:	Gireesh Nagabhushana <dngireesh@avrita.com>
Approved by:	re (kib)
2011-08-27 22:08:01 +00:00
John Baldwin
85b422c17d - Replace references to sio(4) with uart(4) instead.
- We no longer use the same data structure in as NetBSD in pucdata.c.
- ppc(4) has had a puc(4) attachment for a while now.

Approved by:	re (blackend)
MFC after:	3 days
2011-08-26 19:44:39 +00:00
Christian Brueffer
90c0612545 Fix the manpage section number, thus unbreaking the hardware notes build. (1)
Also hook up vxge(4) to the build.

Submitted by:	simon (1)
Approved by:	re (blackend)
2011-08-26 17:35:22 +00:00
Attilio Rao
1c93fd20a0 Fix an error in the generation of the manpage after r225177.
Sponsored by:	Sandvine Incorporated
Submitted by:	jkim
Approved by:	re (bz)
MFC after:	3 weeks
X-MFC:		r225177
2011-08-25 17:42:27 +00:00
Attilio Rao
6aba400a70 Fix a deficiency in the selinfo interface:
If a selinfo object is recorded (via selrecord()) and then it is
quickly destroyed, with the waiters missing the opportunity to awake,
at the next iteration they will find the selinfo object destroyed,
causing a PF#.

That happens because the selinfo interface has no way to drain the
waiters before to destroy the registered selinfo object. Also this
race is quite rare to get in practice, because it would require a
selrecord(), a poll request by another thread and a quick destruction
of the selrecord()'ed selinfo object.

Fix this by adding the seldrain() routine which should be called
before to destroy the selinfo objects (in order to avoid such case),
and fix the present cases where it might have already been called.
Sometimes, the context is safe enough to prevent this type of race,
like it happens in device drivers which installs selinfo objects on
poll callbacks. There, the destruction of the selinfo object happens
at driver detach time, when all the filedescriptors should be already
closed, thus there cannot be a race.
For this case, mfi(4) device driver can be set as an example, as it
implements a full correct logic for preventing this from happening.

Sponsored by:	Sandvine Incorporated
Reported by:	rstone
Tested by:	pluknet
Reviewed by:	jhb, kib
Approved by:	re (bz)
MFC after:	3 weeks
2011-08-25 15:51:54 +00:00
Hans Petter Selasky
0f92e529e1 Add new USB ID.
Approved by:    re (kib)
MFC after:      1 week
PR:		usb/159836
2011-08-20 14:21:32 +00:00
Alexander Motin
126123eacc Update ata(4) manual page, reflecting migration to CAM-based ATA stack
(`options ATA_CAM` enabled by default).

Approved by:	re (kib)
2011-08-17 19:43:41 +00:00
Gleb Smirnoff
1eefdc3bc5 Fix a couple of issues in last commit.
Submitted by:	maxim
Approved by:	re (kib)
2011-08-15 13:33:28 +00:00
Gleb Smirnoff
cc8b2291de Describe how carp(4) status changes can be processed with
help of devd(8).

Submitted by:	"Alexander V. Chernikov" <melifaro ipfw.ru>
Approved by:	re (kib)
2011-08-15 12:08:41 +00:00
Rick Macklem
6c8ea37c68 Change "options NFSCLIENT" to "options NFSCL" in diskless.8,
since that is now the default NFS client.
This is a content change.

Reported by:	shuvaev at physik.uni-wuerzburg.de
Approved by:	re (hrs)
2011-08-08 13:13:22 +00:00
Glen Barber
12eab787f3 Provide a more user friendly URL to the IETF site in gif(4).
Pointed out by:		dougb
MFC after:		3 days
Approved by:		re (hrs)
2011-08-02 01:48:45 +00:00
Xin LI
1f85519928 Add PCI ID for RocketRAID 4321 and 4322. A FreeNAS user have tested the
change on RocketRAID 4322.

Sponsored by:	iXsystems, Inc.
MFC after:	3 days
Approved by:	re (kib)
2011-08-01 21:12:41 +00:00
Joel Dahl
abd51cd84a I've rewritten most of this file so assign the copyright to me.
Approved by:	re (kib)
2011-08-01 15:56:40 +00:00
Konstantin Belousov
4d066e4519 Fix markup.
Approved by:	re (hrs)
2011-08-01 08:52:05 +00:00
Glen Barber
fa53ff8858 Update vfs_getopt(9) to reflect 32-bit to 64-bit change from
r224290.

PR:		159324
Submitted by:	Brandon Gooch (jamesbrandongooch % gmail ! com)
Approved by:	re (kib)
2011-07-31 21:04:47 +00:00
Glen Barber
dd3e0d69ff mdoc(7) fix for the pcm(4) manual
Spotted by:	manlint
Approved by:	re (kib)
2011-07-31 15:23:21 +00:00
Joel Dahl
89e250512d Add a better description, a few examples and a couple of minor fixes.
Reviewed by:	brueffer
Approved by:	re (kib)
2011-07-30 23:09:52 +00:00
Andriy Gapon
235cc4c620 update smp related documentation after recent changes
Remove references to machdep.hlt_logical_cpus and
machdep.hlt_cpus sysctls and tunables.
Document machdep.hyperthreading_allowed and
hint.lapic.X.disabled tunables.

Prompted by:	ru
Proofreading:	bf
Reviewed by:	jhb
Approved by:	re (kib)
2011-07-30 20:42:14 +00:00
Glen Barber
5d5140280b Fix various broken links in manual pages.
Submitted by:	Michiel Overtoom (motoom % xs4all nl)
PR:		159130 159131 159132 159133 159134
		159135 159136 159137 158138 159144
Approved by:	re (kib)
MFC after:	3 days
2011-07-23 22:55:32 +00:00
Philip Paeps
aeb339fc34 MFV pciids-20110716, r224099
Update to use the latest version of the PCI IDs Repository.
As discussed on -current@ in May, this brings in a new source of the database,
which is also used by other operating systems.  Our previous sources no longer
exist and this database is actively maintained and more complete in general.
2011-07-16 15:40:26 +00:00
Doug Barton
25630ba729 bmake and other updates necessary for the BIND 9.8.x upgrade.
This includes a structural change regarding atomic ops. Previously they
were enabled on all platforms unless we had knowledge that they did not
work. However both work performed by marius@ on sparc64 and the fact that
the 9.8.x branch is fussier in this area has demonstrated that this is
not a safe approach. So I've modified a patch provided by marius to
enable them for i386, amd64, and ia64 only.
2011-07-16 11:20:54 +00:00
Ryan Steinmetz
c7323fd775 Add myself to committers-ports.dot
Approved by:	wxs@ (mentor)
2011-07-15 21:37:13 +00:00
Glen Barber
fde3956e27 Remove an extra '.It' from axe(4).
Reported by:	manlint
2011-07-15 15:56:23 +00:00
Ed Maste
045a10cf9c Remove note that claims pthread_set_name_np is for debugging only.
As Garrett points out,
  It is no more a debugging interface than setproctitle(3), and has not
  been since the name started getting stuffed into the kernel.  This
  statement may have made sense when the name was only visible in thread
  state dumps and the debugger.
PR:		threads/158815
Submitted by:	wollman@
2011-07-15 01:50:40 +00:00
Pyun YongHyeon
4cef18505d Document AX88772B and AX88760. AX88760 is treated as AX88772A in
driver.
Mention all ASIX USB controllers that are supported by axe(4).
Reword media types and explicly mention AX88178 is the only
controller that supports gigabit link.
While I'm here use shorten model instead of showing all controller
model numbers.
2011-07-14 17:34:59 +00:00
Ivan Voras
0d2653cb44 Sort Xr's by number then by name
Nitpicked by: niclas zeising at gmail.com :)
2011-07-12 14:18:54 +00:00