tuexen [Mon, 6 Oct 2014 17:04:26 +0000 (17:04 +0000)]
MFC r272347:
The default for UDPLITE_RECV_CSCOV is zero. RFC 3828 recommend
that this means full checksum coverage for received packets.
If an application is willing to accept packets with partial
coverage, it is expected to use the socket option and provide
the minimum coverage it accepts.
mav [Mon, 6 Oct 2014 15:11:08 +0000 (15:11 +0000)]
MFC r272308: Fix old iSCSI initiator to work with new CAM locking.
This switches code to using xpt_rescan() routine, irrelevant to locking.
Using xpt_action() directly requires knowledge about higher level locks,
that SIM does not need to have.
This code is obsolete, but that is not a reason to crash.
tuexen [Mon, 6 Oct 2014 13:32:30 +0000 (13:32 +0000)]
MFC r272323:
If the checksum coverage field in the UDPLITE header is the length
of the complete UDPLITE packet, the packet has full checksum coverage.
So fix the condition.
mav [Mon, 6 Oct 2014 13:19:20 +0000 (13:19 +0000)]
MFC r271507:
Implement control over command reordering via options and control mode page.
It allows to bypass range checks between UNMAP and READ/WRITE commands,
which may introduce additional delays while waiting for UNMAP parameters.
READ and WRITE commands are always processed in safe order since their
range checks are almost free.
mav [Mon, 6 Oct 2014 12:54:06 +0000 (12:54 +0000)]
MFC r271503: Implement range checks between UNMAP and READ/WRITE commands.
Before this change UNMAP completely blocked other I/Os while running.
Now it blocks only colliding ones, slowing down others only due to ZFS
locks collisions.
bapt [Mon, 6 Oct 2014 09:15:09 +0000 (09:15 +0000)]
MFC: r272398
Make sure to not skip any argument when converting from deprecated
+POS1, -POS2 to -kPOS1,POS2, so that sort +0n gets translated to sort -k1,1n
as it is expected
PR: 193994
Submitted by: rodrigo
MFC after: 3 days
hselasky [Mon, 6 Oct 2014 06:01:46 +0000 (06:01 +0000)]
MFC r272349, r272422 and r272479:
- Fix XHCI driver for devices which have more than 15 physical root HUB
ports. The current bitmap array was too small to hold more than 16
bits and would at some point toggle the context size, which then would
trigger an enumeration fault and cause a fallback to the EHCI
companion controller, if any.
- Make sure we always set the maximum number of valid contexts.
- Set default cycle state in case of early interrupts.
bdrewery [Sun, 5 Oct 2014 23:32:58 +0000 (23:32 +0000)]
MFC r271424:
- Add $netif_ipexpand_max to specify the upper limit for the number of
addresses generated by an address range specification. The default value
is 2048. This can be increased by setting $netif_ipexpand_max in rc.conf.
kib [Sat, 4 Oct 2014 19:37:44 +0000 (19:37 +0000)]
MFC r272130:
In kern_linkat() and kern_renameat(), do not call namei(9) while
holding a write reference on the filesystem. Try to get write
reference in unblocked way after all vnodes are resolved; if failed,
drop all locks and retry after waiting for suspension end.
kib [Sat, 4 Oct 2014 19:33:58 +0000 (19:33 +0000)]
MFC r271747:
- Use NULL instead of 0 for fpcurthread.
- Note the quirk with the interrupt enabled state of the dna handler.
- Use just panic() instead of printf() and panic(). Print tid instead
of pid, the fpu state is per-thread.
MFC r271924:
Update and clarify comments. Remove the useless counter for impossible, but
seen in wild situation (on buggy hypervisors).
delphij [Thu, 2 Oct 2014 18:26:40 +0000 (18:26 +0000)]
MFC r272288,272289:
When setting environment variables in the atrun script, use the
"export foo=bar" form instead of "foo=bar; export foo" since the
former allows the shell to catch variable names that are not valid
shell identifiers. This will cause /bin/sh to exit with an error
(which gets mailed to the at user) and it will not run the script.
Obtained from: OpenBSD (r1.63 millert)
Approved by: re (gjb)
delphij [Thu, 2 Oct 2014 17:41:27 +0000 (17:41 +0000)]
MFC r272389:
Diff reduction with kernel code: instruct the compiler that the data of
these types may be unaligned to their "normal" alignment and exercise
caution when accessing them.
allanjude [Thu, 2 Oct 2014 17:19:32 +0000 (17:19 +0000)]
MFC r272274:
Change the /var dataset in the default ZFS layout to have the
ZFS property canmount=off, making /var/db/pkg part of the / dataset, so
installed package files are consistent with the package database when
using ZFS boot environments (beadm).
PR: 193971
Reviewed by: Shawn Webb, bcr
Approved by: re (gjb), jmg
Relnotes: yes
Sponsored by: ScaleEngine Inc.
hselasky [Thu, 2 Oct 2014 16:57:44 +0000 (16:57 +0000)]
MFC r272254:
Instead of creating the full range of possible ports, try to figure
out the actual number of so-called "embedded jacks" which are present
when a USB MIDI device is attaching.
grehan [Wed, 1 Oct 2014 23:15:23 +0000 (23:15 +0000)]
MFC r272193
Allow the PIC's IMR register to be read before ICW initialisation.
As of git submit e179f6914152eca9, the Linux kernel does a simple
probe of the PIC by writing a pattern to the IMR and then reading it
back, prior to the init sequence of ICW words.
The bhyve PIC emulation wasn't allowing the IMR to be read until
the ICW sequence was complete. This limitation isn't required so
relax the test.
With this change, Linux kernels 3.15-rc2 and later won't hang
on boot when calibrating the local APIC.
gjb [Wed, 1 Oct 2014 16:18:40 +0000 (16:18 +0000)]
MFC r268376 (imp):
rm -rf can fail sometimes with an error from fts_read. Make it
honor fflag to ignore fts_read errors, but stop deleting from
that directory because no further progress can be made.
When building a kernel with a high -j value on a high core count
machine, during the cleanobj phase we can wind up doing multiple
rm -rf at the same time for modules that have subdirectories. This
exposed this race (sometimes) as fts_read can return an error if
the directory is removed by another rm -rf. Since the intent of
the -f flag was to ignore errors, even if this was a bug in
fts_read, we should ignore the error like we've been instructed
to do.
Approved by: re (kib)
Sponsored by: The FreeBSD Foundation
MFC r271875, r272046, r272049, r272056
-> Reference the test case "packs" to fix warnings
-> Delete mentions to removed manpages
-> Minor fixes to docs
MFC revisions 268999, 269027, 269351-269352, 269354, 269460, 270283,
270505, 270954, and 270989:
r268999: Add new bsdconfig example scripts; remove obsolete ones
r269027: Update bsdconfig dot module; fixes and enhancements
r269351: Add setvar() for non-FreeBSD platforms using bash as /bin/sh
r269352: Fix syntax error when run under bash
r269354: Update setvar() function introduced in r269351
r269460: Update f_xdialog_info() in bsdconfig's dialog.subr include
r270283: Add `-A' flag to pkg-install(8) when installing dependencies
r270505: Optimize f_which() to be slightly faster still (common.subr)
r270954: Update f_dialog_init() for safer getopts usage (dialog.subr)
r270989: Fix for previously mentioned r270954
MFC r272040:
When reporting some major UNIT ATTENTION condition, like POWER ON OCCURRED
or I_T NEXUS LOSS, clear all minor UAs for the LUN, redundant in this case.
All SAM specifications tell that target MAY do it, but libiscsi initiator
seems require it to be done, terminating connection with error if some more
UAs happen to be reported during iSCSI connection.
MFC revisions 262864-262865, 263114, 267970:
r262864: Stop pw(8) from segfaulting when given certain input (julian)
r262865: Part 2 of bug 187310 (julian)
r263114: Fix pw(8) edge-case deletion of group "username" on userdel
r267970: Fix infinite-loop during deletion of users from groups
PR: 187310, 169471, 191427
Submitted by: Voradesh Yenbut, Alexander Pyhalov, Kim Shrier
Obtained from: bug
Approved by: re (gjb)
Correct display of bhyve SMBIOS UUIDs with dmidecode by bumping the version.
The mixed little/big-endianness of SMBIOS UUIDs was clarified in v2.6
of the SMBIOS spec. dmidecode uses the reported version of SMBIOS to
determine the layout and what to byte-swap.
bhyve's SMBIOS reported as 2.4 though it implemented the 2.6-style of
memory layout. This resulted in dmidecode reporting a different
UUID than one passed in via the -U option.
Iterate through all the children instead of returning error when we hit
the first error. This makes the error message give more information
rather than just the first device that causes problem.
Illumos issue:
5118 When verifying or creating a storage pool, error messages only
show one device
When asked to find a hole, the DMU sees that there are no holes in the
object, and returns ESRCH. The ZPL interprets this as "no holes before
the end of the file", and therefore inserts the "virtual hole" at the
end of the file. Because DMU and ZPL have different ideas of where the
end of an object/file is, we will end up returning the end of file,
which is generally larger, instead of returning the end of object.
The fix is to handle the "virtual hole" in the DMU. If no hole is found,
the DMU will return a hole at the end of the file, rather than an error.
Illumos issue:
5139 SEEK_HOLE failed to report a hole at end of file