15023 Commits

Author SHA1 Message Date
allanjude
c599610d3a MFC: r294191
Never 4k align the MBR bootpool because zfsldr can not deal with a gap

Sponsored by:	ScaleEngine Inc.
2016-01-21 01:15:40 +00:00
ian
2651e6b1c6 MFC r292337, r292552, r292553:
Build mount_smbfs for arm.  Also sort the subdirs.

  Avoid unaligned memory accesses when encoding netbios names in libsmb.

  The current code for encoding a netbios name converts each byte to a 16-bit
  value and stores the result by casting a char* to u_short*, resulting in
  alignment faults on strict-alignment platforms.

  This change reimplements the encoding routine using only byte accesses to
  memory. There is no particular reason to work with 16-bit values just
  because the encoding process creates two bytes of output for every byte of
  input. Working a byte at at time also avoids endian problems for big-endian
  platforms.

  Make the building of libsmb and mount_smbfs unconditional, now that r292552
  has eliminated alignment and endian problems that were making it fail on
  some platforms.

PR:           180438
PR:           189415
Relnotes:	Yes
2016-01-19 23:36:49 +00:00
jhb
8aa68d7858 MFC 292410,292443,293977:
Exit cleanly if malloc() fails to allocate a buffer for a copy of the
current MBR.

PR:		205322
Submitted by:	Alexander Kuleshov <kuleshovmail@gmail.com>
2016-01-19 19:04:56 +00:00
gnn
ba5e3d1893 MFC: 293459,293643
Add netmap support for bhyve
2016-01-18 21:24:28 +00:00
jhb
e8ea29ce3a MFC 291225:
Add a new -B flag for use with list mode (-l) that lists details about
bridges.  Currently this includes information about what resources a
bridge decodes on the upstream side for use by downstream devices including
bus numbers, I/O port resources, and memory resources.  Windows and bus
ranges are enumerated for both PCI-PCI bridges and PCI-CardBus bridges.

To simplify the implementation, all enumeration is done by reading the
appropriate config space registers directly rather than querying the
bridge driver in the kernel via new ioctls.  This does result in a few
limitations.

First, an unimplemented window in a PCI-PCI bridge cannot be accurately
detected as accurate detection requires writing to the window base
register.  That is not safe for pciconf(8).  Instead, this assumes that
any window where both the base and limit read as all zeroes is
unimplemented.

Second, the PCI-PCI bridge driver in a tree has a few quirks for
PCI-PCI bridges that use subtractive decoding but do not indicate that
via the progif config register.  The list of quirks is duplicated in
pciconf's source.
2016-01-18 19:52:20 +00:00
melifaro
db8f77905b MFC r288297 (userland part).
If ever MFC is done for the new lltable code, this change will miminise
ABI breakage.

rtsock requests for deleting interface address lles started to return EPERM
  instead of old "ignore-and-return 0" in r287789. This broke arp -da /
  ndp -cn behavior (they exit on rtsock command failure). Fix this by
  translating LLE_IFADDR to RTM_PINNED flag, passing it to userland and
  making arp/ndp ignore these entries in batched delete.
2016-01-17 06:02:59 +00:00
jpaetzel
f7e7eb71be MFC 293305
Allow /etc/exports to contain usernames/groups with spaces in them.

If you are getting your users/groups from a directory service such
as LDAP or AD it's possible for those usernames or groupnames to
contain spaces.

Submitted by:	Sean E. Fagan
Reviewed by:	rmacklem
Sponsored by:	iXsystems
2016-01-16 01:40:46 +00:00
allanjude
778aaf99e6 MFC: r287581
Add an additional check to service(8) -e incase rcvar is blank

Sponsored by:	ScaleEngine Inc.
2016-01-15 20:59:57 +00:00
jtl
5c4bf04e87 MFC r290811:
Fix hwpmc "stalled" behavior

  Currently, there is a single pm_stalled flag that tracks whether a
  performance monitor was "stalled" due to insufficent ring buffer
  space for samples. However, because the same performance monitor
  can run on multiple processes or threads at the same time, a single
  pm_stalled flag that impacts them all seems insufficient.

  In particular, you can hit corner cases where the code fails to stop
  performance monitors during a context switch out, because it thinks
  the performance monitor is already stopped. However, in reality,
  it may be that only the monitor running on a different CPU was stalled.

  This patch attempts to fix that behavior by tracking on a per-CPU basis
  whether a PM desires to run and whether it is "stalled". This lets the
  code make better decisions about when to stop PMs and when to try to
  restart them. Ideally, we should avoid the case where the code fails
  to stop a PM during a context switch out.

MFC r290813:
  Optimizations to the way hwpmc gathers user callchains

  Changes to the code to gather user stacks:
  * Delay setting pmc_cpumask until we actually have the stack.
  * When recording user stack traces, only walk the portion of the ring
    that should have samples for us.

MFC r290929:
  Change the driver stats to what they really are: unsigned values.

  When pmcstat exits after some samples were dropped, give the user an
  idea of how many were lost. (Granted, these are global numbers, but
  they may still help quantify the scope of the loss.)

MFC r290930:
  Improve accuracy of PMC sampling frequency

  The code tracks a counter which is the number of events until the next
  sample. On context switch in, it loads the saved counter. On context
  switch out, it tries to calculate a new saved counter.

  Problems:

  1. The saved counter was shared by all threads in a process. However, this
  means that all threads would be initially loaded with the same saved
  counter. However, that could result in sampling more often than once every
  X number of events.

  2. The calculation to determine a new saved counter was backwards. It
  added when it should have subtracted, and subtracted when it should have
  added. Assume a single-threaded process with a reload count of 1000
  events. Assuming the counter on context switch in was 100 and the counter
  on context switch out was 50 (meaning the thread has "consumed" 50 more
  events), the code would calculate a new saved counter of 150 (instead of
  the proper 50).

  Fix:

  1. As soon as the saved counter is used to initialize a monitor for a
  thread on context switch in, set the saved counter to the reload count.
  That way, subsequent threads to use the saved counter will get the full
  reload count, assuring we sample at least once every X number of events
  (across all threads).

  2. Change the calculation of the saved counter. Due to the change to the
  saved counter in #1, we simply need to add (modulo the reload count) the
  remaining counter time we retrieve from the CPU when a thread is context
  switched out.

MFC r291016:
  Support a wider history counter in pmcstat(8) gmon output

  pmcstat(8) contains an option to output sampling data in a gmon format
  compatible with gprof(1). Currently, it uses the default histcounter,
  which is an (unsigned short). With large sets of sampling data, it
  is possible to overflow the maximum value provided by an (unsigned
  short).

  This change adds the -e argument to pmcstat. If -e and -g are both
  specified, pmcstat will use a histcounter type of uint64_t.

MFC r291017:
  Fix the date on the pmcstat(8) man page from r291016.
2016-01-14 22:02:21 +00:00
garga
e76139f566 MFC r293312:
Make cap_mkdb and services_mkdb file operations sync

Similar fix was done for passwd and group operations in r285050. When a
temporary file is created and then renamed to replace official file there
are no checks to make sure data was written to disk and if a power cycle
happens at this time, system can end up with a 0 length file

Approved by:	bapt
Sponsored by:	Netgate
Differential Revision:	https://reviews.freebsd.org/D2982
2016-01-14 14:18:10 +00:00
allanjude
66d55487b9 Convert usr.sbin/sesutil to LPADD/DPADD for stable/10
Direct commit to stable/10

Pointy Hat To: allanjude
2016-01-14 04:25:29 +00:00
allanjude
e37f0a84b3 MFC: r287473
Add the new sesutil(8) utility for managing SCSI Enclosure Services (SES) device.

MFC: r287493
  Fix iteration bug

MFC: r287485, r287494, r287992
  Please the angry gcc 4.2 gods

MFC: r287988
  Improve and expand sesutil(8)

  Return an error if no matching device is found
  Locate can address a slot, in addition to a drive
  Added fault, similar to locate but blinks a different LED
  Added the map command, lists all devices connected to the SES controller
  Added the status command, overall status of the SES controller

MFC: r292092
  sesutil: fix map not printing the status of the LED device in an array

MFC: r292093
  sesutil: pass the correct element type when printing the SES map

MFC: r292121
  sesutil: Add extra information specific to some SES devices to sesutil map

MFC: r292122
  Fix sesutil locate when a sesid is passed to locate command

MFC: r292262
  Show the enclosure name and id in sesutil map

Relnotes:	yes
Sponsored by:	Gandi.net
Sponsored by:	ScaleEngine Inc.
2016-01-14 01:42:09 +00:00
allanjude
f24fbfc1e1 MFC: r284589
Add the ability to detect ZFS and GELI encrypted file systems to fstyp(8)

MFC: r284644
  Fix GCC Warnings

MFC: r284728
  Only build ZFS support in absense of WITHOUT_ZFS

MFC: r285426
  Remove excess copyrights

MFC: r286569
  Use GELI sentinel constant

MFC: r287937
  Eliminate unneeded copying of vdev data, goto, etc. and add a note
  that checksum of vdev label should be checked (which is not done
  currently).

  No functional change.

  While I'm there, raise WARNS to 2.

MFC: r292757
  Fix order of includes in usr.sbin/fstyp/zfs.c

MFC: r292829
  Eliminate unneeded includes.
2016-01-12 16:38:09 +00:00
allanjude
21f7a71da8 MFC: r287576
service(8) -e does not respect /etc/rc.conf.d/* entries

PR:		173454
Submitted by:	giantlock@gmail.com (original patch)
2016-01-12 05:55:28 +00:00
asomers
b701714e19 MFC r292019
When iostat(8) receives SIGINT while running with "-w" or "-c", it will now
print statistics one more time before exiting. Also, it now implements the
wait using setitimer instead of sleep, so the waits will be more consistent
when the system is heavily loaded.
2016-01-11 20:25:41 +00:00
trasz
8a895b1fb5 MFC r287396:
It's 2015, and some people are still trying to use fdisk and then
go asking what debug flags to set for GEOM to make it work.  Advice
them to use gpart(8) instead.

Something similar should probably done with disklabel,
but I need to rewrite the disklabel examples first.

Sponsored by:	The FreeBSD Foundation
2016-01-11 20:10:14 +00:00
bapt
7ba2ab6d8e MFC: r290153 (by bdrewery)
Fix unlikely memory leak.

It is unlikely since the first check in the function is that dir[0] is '/',
but later code changes may make it real.

Coverity CID:	1332104
2016-01-11 19:26:18 +00:00
bapt
d873bf8d21 MFC: 278899
Regression: fix usershow -7
2016-01-11 19:22:58 +00:00
glebius
c41fbaf9bc Merge r293423, r293469:
ntp 4.2.8p5

Relnotes:	yes
2016-01-11 01:09:50 +00:00
rpokala
c2abf823f0 MFC r279567, r279568: Add and document an option to cause syslogd to run
in the foreground.

This allows a separate process to monitor when and how syslogd exits. That
process can then restart syslogd if needed.

Approved by:	jhb
Sponsored by:	Panasas, Inc.
2016-01-09 05:02:35 +00:00
emaste
b3f7d55af1 MFC r293055: kbdmap.5: Use current names for ASCII control codes lf, ff, us
Refer to the old names nl, np, ns as historical aliases.

PR:		205776, 205778
2016-01-09 01:01:04 +00:00
jpaetzel
7e9f675c8e MFC 293043
Unset the gss kernel state when gssd exits

When gssd exits it leaves the kernel state set by
gssd_syscall().  nfsd sees this and waits endlessly
in an unkillable state for gssd to come back.  If you
had acidentally started gssd then stopped it, then
started nfsd you'd be in a bad way until you either
restarted gssd or rebooted the system.  This change
fixes that by setting the kernel state to "" when
gssd exits.
2016-01-08 23:58:32 +00:00
araujo
2a244ee71d MFC: r292982
Remove unused variable after r292981 to unbreak the build.

MFC: r292981

Clean up unused-but-set-variable spotted by gcc-4.9.

Reviewed by:	ngie
Approved by:	rodrigc (mentor)
Sponsored by:	gandi.net
Differential Revision:	https://reviews.freebsd.org/D4773
2016-01-08 03:02:19 +00:00
araujo
f6284c5ff8 MFC: r292971
Clean up unused-but-set-variable spotted by gcc-4.9.

Reviewed by:	ngie
Approved by:	rodrigc (mentor)
Sponsored by:	gandi.net
Differential Revision:	https://reviews.freebsd.org/D4776
2016-01-08 02:56:21 +00:00
araujo
b6b275587f MFC: r292970
Clean up unused-but-set-variable spotted by gcc-4.9.

Reviewed by:	ngie
Approved by:	rodrigc (mentor)
Sponsored by:	gandi.net
Differential Revision:	https://reviews.freebsd.org/D4777
2016-01-08 02:54:21 +00:00
emaste
679061fa19 MFC r291377: vidfont: with vt(4) omit size from vidcontrol -f
When using syscons, vidfont extracts the font size from the filename
passes it to vidcontrol -f. In vt(4) mode the size argument is not
required, and some of the fonts in /usr/share/vt/fonts do not have the
size in the filename, which caused vidfont to fail. Thus, just omit the
size argument in vt(4) mode.
2016-01-07 17:03:26 +00:00
dteske
f9ade8d28e MFC r290693: Add support for "rc.conf.d" file(s).
Differential Revision:	https://reviews.freebsd.org/D3551
Reviewed by:	allanjude
Relnotes:	yes
2016-01-07 00:53:07 +00:00
dteske
85de1bcecb MFC r278492: Add "vt_"* aliases to bsdconfig console entries.
NB: "syscons_"* kept for backward compatibility
2016-01-07 00:42:38 +00:00
bdrewery
dc83b58bbe MFC r289677:
Fix a ton of speelling errors
2016-01-07 00:40:51 +00:00
bdrewery
bcf29b2c48 MFC r270675:
Allow mailwrapper to use mailer.conf from localbase (respecting LOCALBASE env
  var if set)

PR:	205965
2016-01-06 17:48:35 +00:00
pfg
d9222b5f8f MFC r292605, r292606, r292607, r292608:
cron: bring some fixes for Coverity reports and other issues.

crontab: replace malloc + bzero with calloc
crontab: properly free an entry
cron: Check the return value of pipe(2)

CID:	271773, 1009830,
2016-01-04 03:20:41 +00:00
ngie
2ab722cc04 MFC r292884:
Fix getopt(3) argument after r290180; I forgot to change -r to -R
by accident

Pointyhat to: ngie
2016-01-01 00:36:59 +00:00
bapt
c7542adcf1 MFC: r292846, r292847, r292849
Restore dryrun support for pw groupmod
Remove useless assignement of linelen
Simplify code for parsing extra groups
2015-12-30 23:25:45 +00:00
emaste
9b52439846 crunchide: Restore IA-64 support accidentally lost in r292421 mismerge
Reported by:	ngie
2015-12-29 20:36:11 +00:00
ngie
6a3209fa70 MFC r292585:
Prevent use-after-free with ctx->ns in set_nameservers(..), which could occur
if the memory wasn't allocated again later on

Reported by: Coverity
Submitted by: Miles Ohlrich <miles.ohlrich@isilon.com>
Sponsored by: EMC / Isilon Storage Division
2015-12-29 01:08:58 +00:00
dteske
b1dd9554ee MFC r290337: Add sysrc(8) support for "rc.conf.d"
Differential Revision:	https://reviews.freebsd.org/D3551
Reviewed by:	allanjude
Relnotes:	yes
2015-12-28 17:50:31 +00:00
ume
8feffa60ae MFC r292435, r292441:
- Keep hosts.by{name,addr} IPv4 only.
  - Add comment how we handle hosts and ipnodes.
  - Generate ipnodes.by{addr,name} from /etc/hosts for
    compatibility with FreeBSD local name resolution.
    If /var/yp/ipnodes exists, we generate them from it
    for backward compatibility.
2015-12-25 10:53:30 +00:00
brueffer
3b59a2fb92 MFH: r292212
Flesh out the SEE ALSO section.

PR:		202929
Submitted by:	jhs@berklix.com
2015-12-21 09:34:45 +00:00
emaste
ceeb430497 MFC r281674: crunchide: always include both 32- and 64-bit ELF support
This avoids the need to build a target-specific crunchide for cross-
builds.

Sponsored by:	The FreeBSD Foundation
2015-12-18 03:06:39 +00:00
emaste
c068c81a4d MFC r281655: crunchide: remove unused a.out and non-functional ECOFF support
Sponsored by:	The FreeBSD Foundation
2015-12-18 02:34:01 +00:00
emaste
a22ae7157f Sync crunchide(1) arch support with HEAD
MFC r276764, r281781, r282291, r292106

Add support to crunchide for handling AArch64 (arm64) ELF files.
Remove local EM_* ELF definitions provided by system ELF headers
Restore local EM_AARCH64 constant for bootstrapping
Add RISC-V to supported machine types

Sponsored by:	The FreeBSD Foundation
2015-12-18 01:44:03 +00:00
ken
5baa144ddf MFC r291716, r291724, r291741, r291742
In addition to those revisions, add this change to a file that is not in
head:

sys/ia64/include/bus.h:
  	Guard kernel-only parts of the ia64 machine/bus.h header with
  	#ifdef _KERNEL.

  	This allows userland programs to include <machine/bus.h> to get the
  	definition of bus_addr_t and bus_size_t.

  ------------------------------------------------------------------------
  r291716 | ken | 2015-12-03 15:54:55 -0500 (Thu, 03 Dec 2015) | 257 lines

  Add asynchronous command support to the pass(4) driver, and the new
  camdd(8) utility.

  CCBs may be queued to the driver via the new CAMIOQUEUE ioctl, and
  completed CCBs may be retrieved via the CAMIOGET ioctl.  User
  processes can use poll(2) or kevent(2) to get notification when
  I/O has completed.

  While the existing CAMIOCOMMAND blocking ioctl interface only
  supports user virtual data pointers in a CCB (generally only
  one per CCB), the new CAMIOQUEUE ioctl supports user virtual and
  physical address pointers, as well as user virtual and physical
  scatter/gather lists.  This allows user applications to have more
  flexibility in their data handling operations.

  Kernel memory for data transferred via the queued interface is
  allocated from the zone allocator in MAXPHYS sized chunks, and user
  data is copied in and out.  This is likely faster than the
  vmapbuf()/vunmapbuf() method used by the CAMIOCOMMAND ioctl in
  configurations with many processors (there are more TLB shootdowns
  caused by the mapping/unmapping operation) but may not be as fast
  as running with unmapped I/O.

  The new memory handling model for user requests also allows
  applications to send CCBs with request sizes that are larger than
  MAXPHYS.  The pass(4) driver now limits queued requests to the I/O
  size listed by the SIM driver in the maxio field in the Path
  Inquiry (XPT_PATH_INQ) CCB.

  There are some things things would be good to add:

  1. Come up with a way to do unmapped I/O on multiple buffers.
     Currently the unmapped I/O interface operates on a struct bio,
     which includes only one address and length.  It would be nice
     to be able to send an unmapped scatter/gather list down to
     busdma.  This would allow eliminating the copy we currently do
     for data.

  2. Add an ioctl to list currently outstanding CCBs in the various
     queues.

  3. Add an ioctl to cancel a request, or use the XPT_ABORT CCB to do
     that.

  4. Test physical address support.  Virtual pointers and scatter
     gather lists have been tested, but I have not yet tested
     physical addresses or scatter/gather lists.

  5. Investigate multiple queue support.  At the moment there is one
     queue of commands per pass(4) device.  If multiple processes
     open the device, they will submit I/O into the same queue and
     get events for the same completions.  This is probably the right
     model for most applications, but it is something that could be
     changed later on.

  Also, add a new utility, camdd(8) that uses the asynchronous pass(4)
  driver interface.

  This utility is intended to be a basic data transfer/copy utility,
  a simple benchmark utility, and an example of how to use the
  asynchronous pass(4) interface.

  It can copy data to and from pass(4) devices using any target queue
  depth, starting offset and blocksize for the input and ouptut devices.
  It currently only supports SCSI devices, but could be easily extended
  to support ATA devices.

  It can also copy data to and from regular files, block devices, tape
  devices, pipes, stdin, and stdout.  It does not support queueing
  multiple commands to any of those targets, since it uses the standard
  read(2)/write(2)/writev(2)/readv(2) system calls.

  The I/O is done by two threads, one for the reader and one for the
  writer.  The reader thread sends completed read requests to the
  writer thread in strictly sequential order, even if they complete
  out of order.  That could be modified later on for random I/O patterns
  or slightly out of order I/O.

  camdd(8) uses kqueue(2)/kevent(2) to get I/O completion events from
  the pass(4) driver and also to send request notifications internally.

  For pass(4) devcies, camdd(8) uses a single buffer (CAM_DATA_VADDR)
  per CAM CCB on the reading side, and a scatter/gather list
  (CAM_DATA_SG) on the writing side.  In addition to testing both
  interfaces, this makes any potential reblocking of I/O easier.  No
  data is copied between the reader and the writer, but rather the
  reader's buffers are split into multiple I/O requests or combined
  into a single I/O request depending on the input and output blocksize.

  For the file I/O path, camdd(8) also uses a single buffer (read(2),
  write(2), pread(2) or pwrite(2)) on reads, and a scatter/gather list
  (readv(2), writev(2), preadv(2), pwritev(2)) on writes.

  Things that would be nice to do for camdd(8) eventually:

  1.  Add support for I/O pattern generation.  Patterns like all
      zeros, all ones, LBA-based patterns, random patterns, etc. Right
      Now you can always use /dev/zero, /dev/random, etc.

  2.  Add support for a "sink" mode, so we do only reads with no
      writes.  Right now, you can use /dev/null.

  3.  Add support for automatic queue depth probing, so that we can
      figure out the right queue depth on the input and output side
      for maximum throughput.  At the moment it defaults to 6.

  4.  Add support for SATA device passthrough I/O.

  5.  Add support for random LBAs and/or lengths on the input and
      output sides.

  6.  Track average per-I/O latency and busy time.  The busy time
      and latency could also feed in to the automatic queue depth
      determination.

  sys/cam/scsi/scsi_pass.h:
  	Define two new ioctls, CAMIOQUEUE and CAMIOGET, that queue
  	and fetch asynchronous CAM CCBs respectively.

  	Although these ioctls do not have a declared argument, they
  	both take a union ccb pointer.  If we declare a size here,
  	the ioctl code in sys/kern/sys_generic.c will malloc and free
  	a buffer for either the CCB or the CCB pointer (depending on
  	how it is declared).  Since we have to keep a copy of the
  	CCB (which is fairly large) anyway, having the ioctl malloc
  	and free a CCB for each call is wasteful.

  sys/cam/scsi/scsi_pass.c:
  	Add asynchronous CCB support.

  	Add two new ioctls, CAMIOQUEUE and CAMIOGET.

  	CAMIOQUEUE adds a CCB to the incoming queue.  The CCB is
  	executed immediately (and moved to the active queue) if it
  	is an immediate CCB, but otherwise it will be executed
  	in passstart() when a CCB is available from the transport layer.

  	When CCBs are completed (because they are immediate or
  	passdone() if they are queued), they are put on the done
  	queue.

  	If we get the final close on the device before all pending
  	I/O is complete, all active I/O is moved to the abandoned
  	queue and we increment the peripheral reference count so
  	that the peripheral driver instance doesn't go away before
  	all pending I/O is done.

  	The new passcreatezone() function is called on the first
  	call to the CAMIOQUEUE ioctl on a given device to allocate
  	the UMA zones for I/O requests and S/G list buffers.  This
  	may be good to move off to a taskqueue at some point.
  	The new passmemsetup() function allocates memory and
  	scatter/gather lists to hold the user's data, and copies
  	in any data that needs to be written.  For virtual pointers
  	(CAM_DATA_VADDR), the kernel buffer is malloced from the
  	new pass(4) driver malloc bucket.  For virtual
  	scatter/gather lists (CAM_DATA_SG), buffers are allocated
  	from a new per-pass(9) UMA zone in MAXPHYS-sized chunks.
  	Physical pointers are passed in unchanged.  We have support
  	for up to 16 scatter/gather segments (for the user and
  	kernel S/G lists) in the default struct pass_io_req, so
  	requests with longer S/G lists require an extra kernel malloc.

  	The new passcopysglist() function copies a user scatter/gather
  	list to a kernel scatter/gather list.  The number of elements
  	in each list may be different, but (obviously) the amount of data
  	stored has to be identical.

  	The new passmemdone() function copies data out for the
  	CAM_DATA_VADDR and CAM_DATA_SG cases.

  	The new passiocleanup() function restores data pointers in
  	user CCBs and frees memory.

  	Add new functions to support kqueue(2)/kevent(2):

  	passreadfilt() tells kevent whether or not the done
  	queue is empty.

  	passkqfilter() adds a knote to our list.

  	passreadfiltdetach() removes a knote from our list.

  	Add a new function, passpoll(), for poll(2)/select(2)
  	to use.

  	Add devstat(9) support for the queued CCB path.

  sys/cam/ata/ata_da.c:
  	Add support for the BIO_VLIST bio type.

  sys/cam/cam_ccb.h:
  	Add a new enumeration for the xflags field in the CCB header.
  	(This doesn't change the CCB header, just adds an enumeration to
  	use.)

  sys/cam/cam_xpt.c:
  	Add a new function, xpt_setup_ccb_flags(), that allows specifying
  	CCB flags.

  sys/cam/cam_xpt.h:
  	Add a prototype for xpt_setup_ccb_flags().

  sys/cam/scsi/scsi_da.c:
  	Add support for BIO_VLIST.

  sys/dev/md/md.c:
  	Add BIO_VLIST support to md(4).

  sys/geom/geom_disk.c:
  	Add BIO_VLIST support to the GEOM disk class.  Re-factor the I/O size
  	limiting code in g_disk_start() a bit.

  sys/kern/subr_bus_dma.c:
  	Change _bus_dmamap_load_vlist() to take a starting offset and
  	length.

  	Add a new function, _bus_dmamap_load_pages(), that will load a list
  	of physical pages starting at an offset.

  	Update _bus_dmamap_load_bio() to allow loading BIO_VLIST bios.
  	Allow unmapped I/O to start at an offset.

  sys/kern/subr_uio.c:
  	Add two new functions, physcopyin_vlist() and physcopyout_vlist().

  sys/pc98/include/bus.h:
  	Guard kernel-only parts of the pc98 machine/bus.h header with
  	#ifdef _KERNEL.

  	This allows userland programs to include <machine/bus.h> to get the
  	definition of bus_addr_t and bus_size_t.

  sys/sys/bio.h:
  	Add a new bio flag, BIO_VLIST.

  sys/sys/uio.h:
  	Add prototypes for physcopyin_vlist() and physcopyout_vlist().

  share/man/man4/pass.4:
  	Document the CAMIOQUEUE and CAMIOGET ioctls.

  usr.sbin/Makefile:
  	Add camdd.

  usr.sbin/camdd/Makefile:
  	Add a makefile for camdd(8).

  usr.sbin/camdd/camdd.8:
  	Man page for camdd(8).

  usr.sbin/camdd/camdd.c:
  	The new camdd(8) utility.

  Sponsored by:	Spectra Logic

  ------------------------------------------------------------------------
  r291724 | ken | 2015-12-03 17:07:01 -0500 (Thu, 03 Dec 2015) | 6 lines

  Fix typos in the camdd(8) usage() function output caused by an error in
  my diff filter script.

  Sponsored by:	Spectra Logic

  ------------------------------------------------------------------------
  r291741 | ken | 2015-12-03 22:38:35 -0500 (Thu, 03 Dec 2015) | 10 lines

  Fix g_disk_vlist_limit() to work properly with deletes.

  Add a new bp argument to g_disk_maxsegs(), and add a new function,
  g_disk_maxsize() tha will properly determine the maximum I/O size for a
  delete or non-delete bio.

  Submitted by:	will
  Sponsored by:	Spectra Logic

  ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r291742 | ken | 2015-12-03 22:44:12 -0500 (Thu, 03 Dec 2015) | 5 lines

  Fix a style issue in g_disk_limit().

  Noticed by:	bdrewery

  ------------------------------------------------------------------------

Sponsored by:	Spectra Logic
2015-12-16 19:01:14 +00:00
ngie
6d12e854a1 MFC r271401:
r271401 (by asomers):

Conditionalize build of etcupdate(8) on MK_RCS. Since etcupdate calls
merge(1), which is part of the RCS package, it must not be installed if
WITHOUT_RCS update is set. Otherwise, it will produce confusing errors.

CR:		https://reviews.freebsd.org/D691
Sponsored by:	Spectra Logic
2015-12-15 18:01:05 +00:00
rmacklem
b6c0f43bf9 MFC: r291535
Document the new "-manage-gids" option for the nfsuserd daemon.
This is a content change.
2015-12-14 22:54:02 +00:00
rmacklem
473cb365c9 MFC: r291534
Add support for the "-manage-gids" option to the nfsuserd daemon.
When this option is set, the NFS server uses the list of groups
acquired via getgrouplist(3) for the uid instead of the list of
groups in the RPC request. This can be used to avoid the 16 gid
limit for the group list in the RPC request.

Relnotes:	yes
2015-12-14 22:43:43 +00:00
bapt
cebf099541 MFC: r291658
pw_checkname since the beginning is too strict on GECOS field,
relax it a bit so gecos can be used to store multibytes data.

This was unseen before FreeBSD 10.2 as this validation function was motly unused
since FreeBSD 10.2 the usage of this function has been generalized to improve

Reported by:	des
2015-12-09 21:38:26 +00:00
bapt
79deb7823d MFC: r291657
Fix handling of numeric-only names with pw lock
Add a regression test about it

PR:		204968
2015-12-09 21:34:03 +00:00
bdrewery
8e2550bfa6 MFC r291348:
Use LIBEXECDIR for /usr/libexec.
2015-12-04 19:16:56 +00:00
bdrewery
3d4b7b45ca MFC r291081:
Rename checked-in 'includes' to 'includes.sh' to avoid colliding with
  share/mk target 'make includes'.
2015-12-04 18:39:57 +00:00
bdrewery
ca2c0718a7 MFC r290084:
Remove unneeded NAME override.
2015-12-04 18:22:31 +00:00