bapt [Fri, 6 Oct 2017 11:48:09 +0000 (11:48 +0000)]
Import 1.14.3
MFC after: 1 week
kib [Fri, 6 Oct 2017 10:17:50 +0000 (10:17 +0000)]
Remove unneeded cast.
Reviewed by: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
kib [Fri, 6 Oct 2017 10:16:57 +0000 (10:16 +0000)]
Style.
Reviewed by: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
manu [Fri, 6 Oct 2017 09:02:36 +0000 (09:02 +0000)]
vfs_export_lookup: Fix r324054
When using the default address list nam is still valid, the code in
r324054 assumed that is was NULL.
Reported by: Guy Yur <guyyur@gmail.com>
Tested by: Guy Yur <guyyur@gmail.com>
jlh [Fri, 6 Oct 2017 08:49:15 +0000 (08:49 +0000)]
Bump src.conf.5's Dd.
This file shouldn't be modified manually but well, I did it in my previous
commit. So go down further the rabbit hole so as to at least keep some
consistency.
Reported by: bapt
jlh [Fri, 6 Oct 2017 08:43:14 +0000 (08:43 +0000)]
Remove rcmds.
If they are still needed, you can find them in the net/bsdrcmds port.
This was proposed June, 20th and approved by various committers [1].
They have been marked as deprecated on CURRENT in r320644 [2] on July, 4th.
Both stable/11 and release/11.1 contain the deprecation notice (thanks to
allanjude@).
Note that ruptime(1)/rwho(1)/rwhod(8) were initially thought to be part of
rcmds but this was a mistake and those are therefore NOT removed.
[1] https://lists.freebsd.org/pipermail/freebsd-arch/2017-June/018239.html
[2] https://svnweb.freebsd.org/base?view=revision&revision=320644
Reviewed by: bapt, brooks
Differential Revision: https://reviews.freebsd.org/D12573
avg [Fri, 6 Oct 2017 08:28:35 +0000 (08:28 +0000)]
zdb.8: replace with the slighly modified upstream version
The upstream has converted their manual page to the same format as we
have, so we can use the upstream version with minimal modifications.
The current modifications are:
- different zpool.cache path
- different manual sections for zdb, zfs, zpool commands
igor reports a few minor issues, it would be nice to fix them both in
FreeBSD and in the upstream.
MFC after: 3 weeks
avg [Fri, 6 Oct 2017 08:21:06 +0000 (08:21 +0000)]
MFV r322235: 8067 zdb should be able to dump literal embedded block pointer
illumos/illumos-gate@
4923c69fddc0887da5604a262585af3efd82ee20
https://github.com/illumos/illumos-gate/commit/
4923c69fddc0887da5604a262585af3efd82ee20
FreeBSD note: the manual page is to be updated separately.
https://www.illumos.org/issues/8067
Add an option to zdb to print a literal embedded block pointer supplied on the
command line:
zdb -E [-A] word0:word1:...:word15
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Alex Reece <alex@delphix.com>
Reviewed by: Yuri Pankov <yuri.pankov@gmail.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Matthew Ahrens <mahrens@delphix.com>
MFC after: 3 weeks
avg [Fri, 6 Oct 2017 08:17:12 +0000 (08:17 +0000)]
MFV r316934: 7340 receive manual origin should override automatic origin
illumos/illumos-gate@
ed4e7a6a5cbc5e8986dc649ad54435210487b102
https://github.com/illumos/illumos-gate/commit/
ed4e7a6a5cbc5e8986dc649ad54435210487b102
https://www.illumos.org/issues/7340
When -o origin=<snapshot> is specified as part of a ZFS receive, that origin
should override the automatic detection in libzfs.
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Paul Dagnelie <pcd@delphix.com>
MFC after: 3 weeks
avg [Fri, 6 Oct 2017 08:15:37 +0000 (08:15 +0000)]
MFV r316933: 5142 libzfs support raidz root pool (loader project)
illumos/illumos-gate@
d5f26ad8122c3762fb16413a17bfb497db86a782
https://github.com/illumos/illumos-gate/commit/
d5f26ad8122c3762fb16413a17bfb497db86a782
https://www.illumos.org/issues/5142
the current libzfs only allows simple disk and mirror setup for boot pool, as
loader does support booting from raidz, this feature will remove raidz
restriction from boot pool setup.
FreeBSD note: we have long supported this feature, this commit only
removes a small difference in libzfs.
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Andrew Stormont <andyjstormont@gmail.com>
Reviewed by: Albert Lee <trisk@omniti.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Toomas Soome <tsoome@me.com>
MFC after: 3 weeks
avg [Fri, 6 Oct 2017 08:12:13 +0000 (08:12 +0000)]
MFV r316931: 6268 zfs diff confused by moving a file to another directory
illumos/illumos-gate@
aab04418a72c0a29040a5da7eec08efe19dbef04
https://github.com/illumos/illumos-gate/commit/
aab04418a72c0a29040a5da7eec08efe19dbef04
https://www.illumos.org/issues/6268
The zfs diff command presents a description of the changes that have occurred
to files within a filesystem between two snapshots. If a file is renamed, the
tool is capable of reporting this, e.g.:
cd /some/zfs/dataset/subdir
mv file0 file1
Will result in a diff record like:
R /some/zfs/dataset/subdir/file0 -> /some/zfs/dataset/subdir/file1
Unfortunately, it seems that rename detection only uses the base filename to
determine if a file has been renamed or simply modified. This leads to
misreporting only the original filename, omitting the more relevant destination
filename entirely. For example:
cd /some/zfs/dataset/subdir
mv file0 ../otherdir/file0
Will result in a diff entry:
M /some/zfs/dataset/subdir/file0
But it should really emit:
R /some/zfs/dataset/subdir/file0 -> /some/zfs/dataset/otherdir/file0
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Justin Gibbs <gibbs@scsiguy.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Joshua M. Clulow <josh@sysmgr.org>
MFC after: 3 weeks
avg [Fri, 6 Oct 2017 08:10:54 +0000 (08:10 +0000)]
MFV r316877: 7571 non-present readonly numeric ZFS props do not have default value
illumos/illumos-gate@
ad2760acbd9c3b479bf632f05c6f03d89830799d
https://github.com/illumos/illumos-gate/commit/
ad2760acbd9c3b479bf632f05c6f03d89830799d
https://www.illumos.org/issues/7571
ZFS displays the default value for non-present readonly numeric (and index)
properties. However, these properties default values are not meaningful.
Instead, we should display a "-", indicating that they are not present. For
example, on a version-12 pool, the usedby* properties are not available, but
they show up as the incorrect value "0":
1. zfs get all test12
...
test12 usedbysnapshots 0 -
test12 usedbydataset 0 -
test12 usedbychildren 0 -
test12 usedbyrefreservation 0 -
We will be introducing more sometimes-present numeric readonly properties, so
it would be nice to fix this.
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Matthew Ahrens <mahrens@delphix.com>
MFC after: 3 weeks
avg [Fri, 6 Oct 2017 08:09:20 +0000 (08:09 +0000)]
MFV r316864: 6392 zdb: introduce -V for verbatim import
illumos/illumos-gate@
dfd5965f7e43b6a630e5ac86708ae76b4f02cc40
https://github.com/illumos/illumos-gate/commit/
dfd5965f7e43b6a630e5ac86708ae76b4f02cc40
FreeBSD note: the manual page is to be updated separately.
https://www.illumos.org/issues/6392
When given a pool name via -e, zdb would attempt an import. If it
failed, then it would attempt a verbatim import. This behavior is
not always desirable so a -V switch is added to zdb to control the
behavior. When specified, a verbatim import is done. Otherwise,
the behavior is as it was previously, except no verbatim import
is done on failure.
https://github.com/zfsonlinux/zfs/commit/
a5778ea2427bd340e3b4f697d9b6e1452bd71909
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Yuri Pankov <yuri.pankov@gmail.com>
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Richard Yao <ryao@gentoo.org>
MFC after: 3 weeks
avg [Fri, 6 Oct 2017 07:52:25 +0000 (07:52 +0000)]
MFV r316862: 6410 teach zdb to perform object lookups by path
illumos/illumos-gate@
ed61ec1da9132e570b0853386d0f78a32f852cd2
https://github.com/illumos/illumos-gate/commit/
ed61ec1da9132e570b0853386d0f78a32f852cd2
FreeBSD note: this commit does not update the manual page.
The original change includes conversion of the manual page from *roff format
to mandoc format. So, it is hard to extract the content change from
that. I am going to replace our zdb manual page, which is an earlier
independent conversion, with a slighly modified version of the upstream page.
https://www.illumos.org/issues/6410
This is primarily intended to ease debugging & testing ZFS when one is only
interested in things like the on-disk location of a specific object's blocks,
but doesn't know their object id. This allows doing things like the following
(FreeBSD-based example):
# zpool create -f foo da0
# dd if=/dev/zero of=/foo/1 bs=1M count=4 >/dev/null 2>&1
# zpool export foo
# zdb -vvvvv -o "ZFS plain file" foo /1
Object lvl iblk dblk dsize lsize %full type
8 2 16K 128K 3.99M 4M 100.00 ZFS plain file (K=inherit) (Z=inherit)
168 bonus System attributes
dnode flags: USED_BYTES USERUSED_ACCOUNTED
dnode maxblkid: 31
path /1
uid 0
gid 0
atime Thu Apr 23 22:45:32 2015
mtime Thu Apr 23 22:45:32 2015
ctime Thu Apr 23 22:45:32 2015
crtime Thu Apr 23 22:45:32 2015
gen 7
mode 100644
size 4194304
parent 4
links 1
pflags
40800000004
Indirect blocks:
0 L1 DVA[0]=<0:c19200:600> DVA[1]=<0:
10800019200:600> [L1 ZFS
plain file] fletcher4 lz4 LE contiguous unique double size=4000L/200P birth=7L/
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Will Andrews <will@freebsd.org>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Yuri Pankov <yuri.pankov@nexenta.com>
MFC after: 3 weeks
imp [Thu, 5 Oct 2017 23:05:56 +0000 (23:05 +0000)]
Add updating for armv7 and bump FreeBSD_version.
Sponsored by: Netflix
imp [Thu, 5 Oct 2017 23:01:50 +0000 (23:01 +0000)]
Tag all armv7 kernels as such in their machine config line.
Transition all boards that support arm cortex CPUs to armv7. This
leaves two armv6 kernels in the tree. RPI-B, which uses the BCM2835
which has a ARM1176 core, and VERSATILEPB, which is a qemu board setup
around the time RPI-B went in. Copy std.armv6 to std.armv7, even
though that duplicates a lot of stuff. More work needs to be done to
sort out the duplication.
Differential Revision: https://reviews.freebsd.org/D12027
imp [Thu, 5 Oct 2017 23:01:33 +0000 (23:01 +0000)]
Support armv7 builds for userland
Make armv7 as a new MACHINE_ARCH.
Copy all the places we do armv6 and add armv7 as basically an
alias. clang appears to generate code for armv7 by default. armv7 hard
float isn't supported by the the in-tree gcc, so it hasn't been
updated to have a new default.
Support armv7 as a new valid MACHINE_ARCH (and by extension
TARGET_ARCH).
Add armv7 to the universe build.
Differential Revision: https://reviews.freebsd.org/D12010
gjb [Thu, 5 Oct 2017 20:54:31 +0000 (20:54 +0000)]
Remove release-related documentation from the base repository,
moved to the doc repository (see revisions r51045:r51061).
Sponsored by: The FreeBSD Foundation
rmacklem [Thu, 5 Oct 2017 20:10:40 +0000 (20:10 +0000)]
Add Flex File Layout support to the NFSv4.1 pNFS client.
This patch adds support for the Flexible File Layout to the pNFS client.
Although the patch is rather large, it should only affect NFS mounts
using the "pnfs" option against pNFS servers that do not support File
Layout.
There are still a couple of things missing from the Flexible File Layout
client implementation:
- The code does not yet do a LayoutReturn with I/O error stats when
I/O error(s) occur when attempting to do I/O on a DS.
This will be fixed in a future commit, since it is important for the
MDS to know that I/O on a DS is failing.
- The current code does writes and commits to mirror DSs serially.
Making them happen concurrently will be done in a future commit,
after discussion on freebsd-current@ on the best way to do this.
- The code does not handle NFSv4.0 DSs. Since there is no extant pNFS
server that implements NFSv4.0 DSs and NFSv4.1 DSs makes more sense
now, I don't intend to implement this until there is a need for it.
There is support for NFSv4.1 and NFSv3 DSs.
mjg [Thu, 5 Oct 2017 19:18:02 +0000 (19:18 +0000)]
locks: take the number of readers into account when waiting
Previous code would always spin once before checking the lock. But a lock
with e.g. 6 readers is not going to become free in the duration of once spin
even if they start draining immediately.
Conservatively perform one for each reader.
Note that the total number of allowed spins is still extremely small and is
subject to change later.
MFC after: 1 week
kib [Thu, 5 Oct 2017 19:11:25 +0000 (19:11 +0000)]
Use ANSI C declarations.
Reviewed by: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
gjb [Thu, 5 Oct 2017 19:00:22 +0000 (19:00 +0000)]
Fix the 'reldoc' target, following doc commit r51047.
Sponsored by: The FreeBSD Foundation
kib [Thu, 5 Oct 2017 18:58:28 +0000 (18:58 +0000)]
Correct format specifiers in the debug code. Style.
Requested by: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
mjg [Thu, 5 Oct 2017 18:51:48 +0000 (18:51 +0000)]
amd64: remove unused variable from pmap_delayed_invl_genp
Reported by: gcc
MFC after: 1 week
kib [Thu, 5 Oct 2017 18:42:13 +0000 (18:42 +0000)]
Style.
Reviewed by: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
shurd [Thu, 5 Oct 2017 17:52:38 +0000 (17:52 +0000)]
bnxt: fix intermittent VLAN issues
bnxt_init() is invokes Function Reset (bnxt_hwrm_func_reset) and thus FW
configuration for VLANs get erased. To fix this, in bnxt_init(), Invoking
HWRM to configure VLANs (bnxt_hwrm_cfa_l2_set_rx_mask).
Submitted by: Siva Kallam <siva.kallam@@broadcom.com>
Reviewed by: shurd, sbruno
Approved by: sbruno (mentor)
Sponsored by: Broadcom Limited
Differential Revision: https://reviews.freebsd.org/D12527
imp [Thu, 5 Oct 2017 16:48:05 +0000 (16:48 +0000)]
This README file was quite relevant for FreeBSD 3 or 4. However, the
information in this file is now somewhat dated, or is present mostly
correct in the man pages. Retire this file rather than fix it.
Noticed by: cognet@
Sponsored by: Netflix
hselasky [Thu, 5 Oct 2017 16:42:02 +0000 (16:42 +0000)]
Add support for new cuse(3) error code, CUSE_ERR_NO_DEVICE.
This error code is useful when emulating Linux input event
devices from userspace.
PR: 218626
Submitted by: jan.kokemueller@gmail.com
MFC after: 1 week
Sponsored by: Mellanox Technologies
imp [Thu, 5 Oct 2017 16:40:50 +0000 (16:40 +0000)]
Document KERNBUILDDIR.
Sponsored by: Netflix
shurd [Thu, 5 Oct 2017 14:43:30 +0000 (14:43 +0000)]
Fix "taskqgroup_attach: setaffinity failed: 3" with iflib drivers
Improved logging added in r323879 exposed an error during
attach. We need the irq, not the rid to work correctly. em uses
shared irqs, so it will use the same irq for TX as RX. bnxt does
not use shared irqs, or TX irqs at all, so there's no need to set
the TX irq affinity.
Reviewed by: sbruno
Approved by: sbruno (mentor)
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D12496
tuexen [Thu, 5 Oct 2017 13:29:54 +0000 (13:29 +0000)]
Ensure that the accept ABORT chunks with the T-bit set only the
a non-zero matching peer tag is provided.
MFC after: 1 week
sephe [Thu, 5 Oct 2017 13:22:14 +0000 (13:22 +0000)]
hyperv/hn: Fix options RSS building
Reported by: np
MFC after: 1 week
Sponsored by: Microsoft
kib [Thu, 5 Oct 2017 13:12:59 +0000 (13:12 +0000)]
Ensure that after sucessfull i386_set_ldt() call, other threads can
use LDT segments immediately.
If the i386_set_ldt() call created a first LDT descriptor (and
consequently created the LDT) for our address space, LDTR is currently
loaded only on the CPU executing the syscall. Other CPUs executing
threads sharing the address space, would only load LDTR after context
switch.
Uncomment set_user_ldt_rv() and call it on all CPUs. Remove critical
section inside set_user_ldt(), it is not needed in the context of call
from smp_rendezvous().
Set md_ldt after md_ldt_sd is initialized using the same code sequence
as in user_ldt_free(). Do the whole initialization in a critical
section, to not race with the context switching while we set LDT.
Discussed with: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
mjg [Thu, 5 Oct 2017 13:01:18 +0000 (13:01 +0000)]
locks: partially tidy up waiting on readers
spin first instant of instantly re-readoing and don't re-read after
spinning is finished - the state is already known.
Note the code is subject to significant changes later.
MFC after: 1 week
kib [Thu, 5 Oct 2017 12:50:03 +0000 (12:50 +0000)]
Avoid a race betweem freeing LDT and context switches.
cpu_switch.S uses curproc->p_md.md_ldt value as the flag indicating
presence of the process LDT. The flag is checked and then ldt segment
descriptor is copied into the CPU' GDT slot.
Disallow context switches around clearing of the curproc LDT state by
performing the cleanup in critical section. Ensure that the md_ldt
flag is cleared before md_ldt_sd descriptor content is destroyed by
inserting fence between the operations.
We depend on the x86 memory model strong ordering guarantees, in
particular, that cpu_switch.S observes the writes to md_ldt and
md_ldt_sd in the expected order.
Discussed with: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
avg [Thu, 5 Oct 2017 12:38:26 +0000 (12:38 +0000)]
fix the misleading log facility used in devd/zfs.conf
In general, the "kern" facility is reserved for the kernel use only.
If a program specifies that facility, then it is silently converted
to "user" facility.
So, using logger -p kern.xxx was both misleading and non-specific.
Thus, change the facility to local7, so that users can create
more adequate syslogd configurations.
While local0..local7 are documented as being for local use we already
have several examples in the tree where they are used because none of
the named facilities really fits.
Approved by: asomers
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D12420
avg [Thu, 5 Oct 2017 12:32:14 +0000 (12:32 +0000)]
sysctl-s in a module should be accessible only when the module is initialized
A sysctl can have a custom handler that may access data that is initialized
via SYSINIT(9) or via a module event handler (also invoked via SYSINIT).
Thus, it is not safe to allow access to the module's sysctl-s until
the initialization is performed. Likewise, we should not allow access
to teh sysctl-s after the module is uninitialized.
The latter is easy to achieve by properly ordering linker_file_unregister_sysctls
and linker_file_sysuninit.
The former is not as easy for two reasons:
- the initialization may depend on tunables which get set when sysctl-s are
registered, so we need to set the tunables before running sysinit-s
- the initialization may try to dynamically add more sysctl-s under statically
defined sysctl nodes
So, this change splits the sysctl setup into two phases. In the first phase
the sysctl-s are registered as before but they are disabled and hidden from
consumers. In the second phase, done after sysinit-s, normal access to the
sysctl-s is enabled.
The change should affect only dynamic module loading and unloading after
the system boot-up. Nothing changes for sysctl-s compiled into the kernel
and sysctl-s in preloaded modules.
Discussed with: hselasky, ian, jhb
Reviewed by: julian, kib
MFC after: 2 weeks
Sponsored by: Panzura
Differential Revision: https://reviews.freebsd.org/D12545
kib [Thu, 5 Oct 2017 12:29:34 +0000 (12:29 +0000)]
Improve amd64_get_ldt().
Provide consistent snapshot of the requested descriptors by preventing
other threads from modifying LDT while we fetch the data, lock dt_lock
around the read. Copy the data into intermediate buffer, which is
copied out after the lock is dropped.
Use guaranteed atomic (aligned volatile) reads of the descriptors to
use same-size atomic as CPU update to set A bit in the descriptor type
field.
Improve overflow checking for the descriptors range calculations and
remove unneeded casts.
Reviewed by: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
avg [Thu, 5 Oct 2017 12:25:18 +0000 (12:25 +0000)]
remove heuristic error detection from ddi_strto*()
Zero, <TYPE>_MIN and <TYPE>_MAX values can result from valid conversions.
They don't necessarily imply any error.
Since we do not have any reliable error signaling from libkern's strto*(),
it's better to always assume success rather than to report an error when
there is none.
Reviewed by: tsoome
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D12565
kib [Thu, 5 Oct 2017 12:19:55 +0000 (12:19 +0000)]
Minor style fix.
Requested by: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
kib [Thu, 5 Oct 2017 12:16:45 +0000 (12:16 +0000)]
Complete r323772 on amd64.
Compilers are allowed to combine plain reads into group operations,
e.g. 64bit element copies of one array into another can be
legitimately optimized back to a memcpy() call, which r323772 tried to
prevent.
Qualify accesses to LDT descriptors with volatile dereference to
ensure that each write indeed occurs. After that, our usual claim of
native-size aligned writes being atomic applies.
This is equivalent to atomic_store(memory_order_relaxed) C11 accesses,
but our machine/atomic.h does not provide corresponding primitive.
Noted and reviewed by: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
kib [Thu, 5 Oct 2017 12:07:38 +0000 (12:07 +0000)]
Use ANSI C declaration for amd64_get_ldt().
Reviewed by: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
kib [Thu, 5 Oct 2017 12:01:39 +0000 (12:01 +0000)]
Correct format specifiers in the debug code.
Requested by: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
kib [Thu, 5 Oct 2017 11:56:04 +0000 (11:56 +0000)]
Remove useless comments.
Requested by: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
kib [Thu, 5 Oct 2017 11:50:01 +0000 (11:50 +0000)]
On amd64, mark the set_user_ldt() function as static.
On i386, the function is used from the context switch code and needs
to be accessible externally. Amd64 MD context switch does not lock an
LDT spinlock and inlines switching in assembly.
Discussed with: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
kib [Thu, 5 Oct 2017 11:36:55 +0000 (11:36 +0000)]
Reduce default max_ldt_segment value to 512.
This makes the LDT to use only one page with default settings,
avoiding the need to find contigous 2 pages in KVA. It seems that
most users are fine even with 512 segments.
Discussed with: bde
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
kib [Thu, 5 Oct 2017 11:34:51 +0000 (11:34 +0000)]
Update comment to note that we skip LDT reload for kthreads as well.
Noted by: bde
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
np [Thu, 5 Oct 2017 07:18:16 +0000 (07:18 +0000)]
cxgbe(4): Provide knobs to set the holdoff parameters of TOE rx queues
separately from NIC rx queues instead of using the same parameters for
both types of queues.
MFC after: 2 weeks
Sponsored by: Chelsio Communications
avg [Thu, 5 Oct 2017 06:39:57 +0000 (06:39 +0000)]
really unbreak kernel builds on sparc64 and powerpc64 after r324163, ZFS Channel Programs
This commit also reverts r324178 that did not fix the problem on powerpc64
where char is usigned.
MFC after: 4 weeks
X-MFC with: r324163
cem [Wed, 4 Oct 2017 23:35:10 +0000 (23:35 +0000)]
hwpmc(4): Add support for extended AMD events
Sponsored by: Dell EMC Isilon
davidcs [Wed, 4 Oct 2017 23:03:09 +0000 (23:03 +0000)]
Add sanity checks in ql_hw_send() qla_send() to ensure that empty slots
in Tx Ring map to empty slot in Tx_buf array before Transmits. If the
checks fail further Transmission on that Tx Ring is prevented.
rmacklem [Wed, 4 Oct 2017 22:55:30 +0000 (22:55 +0000)]
Add a few definitions for the Flex File Layout.
This patch adds a few definitions for the Flex File Layout.
Until a future commit adds Flex File layout support, these new fields
are not used.
This patch should not affect the "pnfs" option for File Layout.
cem [Wed, 4 Oct 2017 21:15:45 +0000 (21:15 +0000)]
aesni(4): CRYPTO_AES_NIST_GCM_16 mandates MAC
Remove some dead conditionals and add an assertion around behavior already
present in aesni_process().
Silence a few Coverity false positives.
CIDs: 1381571, 1381557
Sponsored by: Dell EMC Isilon
oshogbo [Wed, 4 Oct 2017 21:05:44 +0000 (21:05 +0000)]
Partially revert r323866.
Using HAVE_* is a internal tcpdump style standard.
We want to be consistent with the standard to upstream those changes in
the future.
Requested by: glebius@
kevans [Wed, 4 Oct 2017 18:11:00 +0000 (18:11 +0000)]
hexdump: Remove expected test failures for now succeeding tests
r323990 fixed the -s flag breakage reported by PR 219173. Mark the
corresponding hexdump tests accordingly, since they should now both succeed.
PR: 222781
Reported by: ngie
Reviewed by: emaste, ngie
Approved by: emaste (mentor)
Differential Revision: https://reviews.freebsd.org/D12590
markj [Wed, 4 Oct 2017 17:29:08 +0000 (17:29 +0000)]
Add get_random_{int,long} to the LinuxKPI.
Fix some whitespace bugs while here.
Reviewed by: hselasky
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D12588
asomers [Wed, 4 Oct 2017 15:09:49 +0000 (15:09 +0000)]
Display rotation rate and TRIM/UNMAP support in diskinfo(8)
Bump __FreeBSD_version due to the expansion of struct diocgattr_arg.
Reviewed by: mav, allanjude, imp
MFC after: 3 weeks
Relnotes: yes
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D12578
imp [Wed, 4 Oct 2017 14:41:45 +0000 (14:41 +0000)]
'private' isn't a PNP string field, so instead used the reserved '#'
name for this field (it might even be possible to just drop it
entirely, since it will be ignored either way).
Sponsored by: Netflix
emaste [Wed, 4 Oct 2017 14:39:55 +0000 (14:39 +0000)]
arch.7: correct statement about time_t size
After r320347 it is 64-bit on every architecture except i386.
Sponsored by: The FreeBSD Foundation
hselasky [Wed, 4 Oct 2017 13:13:38 +0000 (13:13 +0000)]
Make sure the timer belonging to the delayed work in the LinuxKPI
gets drained before invoking the work function. Else the timer
mutex may still be in use which can lead to use-after-free situations,
because the work function might free the work structure before returning.
MFC after: 1 week
Sponsored by: Mellanox Technologies
bjk [Wed, 4 Oct 2017 12:58:30 +0000 (12:58 +0000)]
mdoc style: start new sentence on new line
trasz [Wed, 4 Oct 2017 12:25:39 +0000 (12:25 +0000)]
Don't destroy gmountver(8) devices on shutdown, unless they are orphaned.
Otherwise we would fail to sync the filesystem on reboot.
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
trasz [Wed, 4 Oct 2017 12:23:34 +0000 (12:23 +0000)]
Make md(4) support GEOM::ident for vnode-backed disks. It's based
on backing file device and inode numbers.
This is useful for gmountver(8) regression tests.
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D12230
trasz [Wed, 4 Oct 2017 11:35:04 +0000 (11:35 +0000)]
Fix iSCSI target panics on concurrent session teardown and display
(eg removing a target and doing "ctladm islist -v" at the same time).
Reviewed by: manu
Tested by: manu
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
cy [Wed, 4 Oct 2017 09:54:59 +0000 (09:54 +0000)]
Fix typo.
Reported by: se
cy [Wed, 4 Oct 2017 09:54:55 +0000 (09:54 +0000)]
Fix typo.
manu [Wed, 4 Oct 2017 08:48:05 +0000 (08:48 +0000)]
mountd: Convert mountlist to SLIST
Use SLIST from sys/queue.h instead of homebrew linked list for mountlist.
Reviewed by: bapt, rmacklem
MFC after: 1 week
Sponsored by: Gandi.net
Differential Revision: https://reviews.freebsd.org/D12504
manu [Wed, 4 Oct 2017 08:43:56 +0000 (08:43 +0000)]
mountd: Convert exportlist to SLIST
Use SLIST from sys/queue.h instead of homebrew linked list for the exportlist.
Reviewed by: bapt, rmacklem
MFC after: 1 week
Sponsored by: Gandi.net
Differential Revision: https://reviews.freebsd.org/D12502
cy [Wed, 4 Oct 2017 06:06:22 +0000 (06:06 +0000)]
Clarify the wording describing the stayopen flag.
MFC after: 1 week
cy [Wed, 4 Oct 2017 03:39:54 +0000 (03:39 +0000)]
When building multiple kernels using KERNCONF, non-existent KERNCONF
files will produce an error and buildkernel will fail. Previously missing
KERNCONF files silently failed giving no indication as to why, only to
subsequently discover during installkernel that the desired kernel was
never built in the first place.
This is a rework of r302865.
This is the correct patch.
Reviewed by: ngie (previous version, r302865)
MFC after: 2 months
Differential Revision: D7167
cy [Wed, 4 Oct 2017 03:35:23 +0000 (03:35 +0000)]
Revert r324246. This is not exactly what was intended.
cy [Wed, 4 Oct 2017 03:24:16 +0000 (03:24 +0000)]
When building multiple kernels using KERNCONF, non-existent KERNCONF
files will produce an error and buildkernel will fail. Previously missing
KERNCONF files silently failed giving no indication as to why, only to
subsequently discover during installkernel that the desired kernel was
never built in the first place.
This is a rework of r302865.
Reviewed by: ngie (previous version, r302865)
MFC after: 2 months
Differential Revision: D7167
cem [Wed, 4 Oct 2017 01:12:26 +0000 (01:12 +0000)]
chpass(1): Check crypt(3) return and handle error appropriately
This change is spiritually similar to the earlier r231994.
PR: 222756
Submitted by: Lubos Boucek <bouceklubos AT gmail.com>
Obtained from: DragonflyBSD
2020c8fec4168a5020f984a093224fade3074b25
brooks [Tue, 3 Oct 2017 22:57:19 +0000 (22:57 +0000)]
Remove an unneeded and incorrect memset().
On Variant I TLS architectures (aarch64, arm, mips, powerpc, and riscv)
the __libc_allocate_tls function allocates thread local storage memory
with calloc(). It then copies initialization data over the portions with
non-zero initial values. Before this change it would then pointlessly
zero the already zeroed remainder of the storage. Unfortunately the
calculation was wrong and it would zero TLS_TCB_SIZE (2*sizeof(void *))
additional bytes.
In practice, this overflow only matters if the TLS segment is sized such
that calloc() allocates a less than TLS_TCB_SIZE extra memory. Even
then, the likely result will be zeroing part of the next bucket. This
coupled with the impact being confined to Tier II platforms means there
will be no security advisory for this issue.
Reviewed by: kib, dfr
Discussed with: security-officer (delphij)
MFC after: 1 week
Found by: CHERI
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D12547
asomers [Tue, 3 Oct 2017 17:00:01 +0000 (17:00 +0000)]
Fix copy/paste error in diskinfo.8 from r320555
MFC after: 1 week
Sponsored by: Spectra Logic Corp
maxim [Tue, 3 Oct 2017 14:23:49 +0000 (14:23 +0000)]
o FreeBSD 10.4 happened after 11.1, adjust the branches accordingly.
o The current FreeBSD branch is 12 not 13.
Suggested by: lidl
maxim [Tue, 3 Oct 2017 13:31:22 +0000 (13:31 +0000)]
FreeBSD 10.4 release added.
trasz [Tue, 3 Oct 2017 11:45:24 +0000 (11:45 +0000)]
Make procstat(1) recognize process descriptors, so that it shows
"P" instead of "?" in "procstat -af" output. Note that there are
still a few more DTYPE_* kinds we don't decode yet.
Reported by: rwatson
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D12426
ru [Tue, 3 Oct 2017 11:13:25 +0000 (11:13 +0000)]
Fixed description of msg_name/msg_namelen in recvmsg().
cem [Tue, 3 Oct 2017 00:53:11 +0000 (00:53 +0000)]
Correct sense of crypt(3) NULL checks in init(8) and lock(1)
In r231994, an attempt was made to fix crypt(3) failure returns (NULL).
However, instead of treating crypt(3) failure as authentication failure,
some of the changes treated crypt(3) failure as authentication success.
This is wrong.
r324225 fixed this for ppp, which also inspired this review. The other
changes in the 231994 revision were audited for correctness and look ok.
Reviewed by: jhb
Security: yes
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D12571
jhb [Mon, 2 Oct 2017 23:31:11 +0000 (23:31 +0000)]
Flesh out pathconf() on UDF.
- Return 64 bits for _PC_FILESIZEBITS.
- Handle _PC_SYMLINK_MAX.
- Defer _PC_PATH_MAX to vop_stdpathconf().
Sponsored by: Chelsio Communications
glebius [Mon, 2 Oct 2017 23:29:56 +0000 (23:29 +0000)]
Hide struct socket and struct unpcb from the userland.
Violators may define _WANT_SOCKET and _WANT_UNPCB respectively and
are not guaranteed for stability of the structures. The violators
list is the the usual one: libprocstat(3) and netstat(1) internally
and lsof in ports.
In struct xunpcb remove the inclusion of kernel structure and add
a bunch of spare fields. The xsocket already has socket not included,
but add there spares as well. Embed xsockbuf into xsocket.
Sort declarations in sys/socketvar.h to separate kernel only from
userland available ones.
PR: 221820 (exp-run)
jhb [Mon, 2 Oct 2017 23:23:12 +0000 (23:23 +0000)]
Return 64 for pathconf(_PC_FILESIZEBITS) on tmpfs.
Sponsored by: Chelsio Communications
cem [Mon, 2 Oct 2017 23:14:29 +0000 (23:14 +0000)]
ppp(8): Fix various bugs in NOPAM section of auth_CheckPasswd
* pw is not initialized before use
* success is returned if crypt(3) errors
These bugs were introduced in r231994, which attempted to adopt DragonflyBSD
f4a9869feb646aafe72de6e5d61051a023a02676. The original author of the
Dragonfly change also noticed these mistakes and filed the PR.
PR: 222620
Submitted by: Lubos Boucek <bouceklubos AT gmail.com>
Obtained from: DragonflyBSD
f4a9869feb646aafe72de6e5d61051a023a02676
jhb [Mon, 2 Oct 2017 23:12:02 +0000 (23:12 +0000)]
Handle _PC_FILESIZEBITS and _PC_SYMLINK_MAX pathconf() requests in cd9660.
cd9660 only supports symlinks with Rock Ridge extensions, so
_PC_SYMLINK_MAX is conditional on Rock Ridge.
Sponsored by: Chelsio Communications
asomers [Mon, 2 Oct 2017 22:39:12 +0000 (22:39 +0000)]
MFV r319743: 8108 zdb -l fails to read labels 2 and 3
illumos/illumos-gate@
22c8b9583d07895c16549075a53668d7bc988cf3
https://github.com/illumos/illumos-gate/commit/
22c8b9583d07895c16549075a53668d7bc988cf3
https://www.illumos.org/issues/8108
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Igor Kozhukhov <igor@dilos.org>
Reviewed by: Andrew Stormont <andyjstormont@gmail.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Yuri Pankov <yuri.pankov@nexenta.com>
MFC after: 3 weeks
asomers [Mon, 2 Oct 2017 22:35:35 +0000 (22:35 +0000)]
MFV r316863: 3871 fix issues introduced by 3604
illumos/illumos-gate@
de05b58863498b10283637eb9ac85e92fe85150e
https://github.com/illumos/illumos-gate/commit/
de05b58863498b10283637eb9ac85e92fe85150e
https://www.illumos.org/issues/3871
GCC 4.5.3 on Gentoo Linux did not like a few of the changes made in the issue
3604 patch. It printed an error and a couple of warnings:
../../cmd/zdb/zdb.c: In function 'dump_bpobj':
../../cmd/zdb/zdb.c:1257:3: error: 'for' loop initial declarations are only
allowed in C99 mode
../../cmd/zdb/zdb.c:1257:3: note: use option -std=c99 or -std=gnu99 to compile
your code
../../cmd/zdb/zdb.c: In function 'dump_deadlist':
../../cmd/zdb/zdb.c:1323:8: warning: too many arguments for format
../../cmd/zdb/zdb.c:1323:8: warning: too many arguments for format
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Serapheim Dimitropoulos <serapheim@delphix.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Richard Yao <ryao@gentoo.org>
MFC after: 3 weeks
asomers [Mon, 2 Oct 2017 22:13:20 +0000 (22:13 +0000)]
MFV r316861: 6866 zdb -l should return non-zero if it fails to find any label
illumos/illumos-gate@
64723e361134b2a2c45341334174f9d34002f8d0
https://github.com/illumos/illumos-gate/commit/
64723e361134b2a2c45341334174f9d34002f8d0
https://www.illumos.org/issues/6866
Need this for #6865.
To be generally more scripting-friendly, overload this issue with adding '-q'
option which should skip printing any label information.
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: John Kennedy <john.kennedy@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Yuri Pankov <yuri.pankov@nexenta.com>
MFC after: 3 weeks
asomers [Mon, 2 Oct 2017 22:02:04 +0000 (22:02 +0000)]
MFC r316858 7280 Allow changing global libzpool variables in zdb
7280 Allow changing global libzpool variables in zdb and ztest through command line
illumos/illumos-gate@
0e60744c982adecd0a1f146f5637475d07ab1069
https://github.com/illumos/illumos-gate/commit/
0e60744c982adecd0a1f146f5637475d07ab1069
https://www.illumos.org/issues/7280
zdb is very handy for diagnosing problems with a pool in a safe and
quick way. When a pool is in a bad shape, we often want to disable some
fail-safes, or adjust some tunables in order to open them. In the
kernel, this is done by changing public variables in mdb. The goal of
this feature is to add the same capability to zdb and ztest, so that
they can change libzpool tuneables from the command line.
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Pavel Zakharov <pavel.zakharov@delphix.com>
MFC after: 3 weeks
mizhka [Mon, 2 Oct 2017 20:33:16 +0000 (20:33 +0000)]
[libthr] revert change of visibility of _thread_keytable to unbreak debugger
Fix regression by r318539. The sysutils/pstack uses library libthread_db to
read information about threads state. The function pt_ta_new makes lookup of
several key symbols including _thread_keytable. But r318539 mades this field
static. It causes silent ignore of libthr library by pstack and as result
sysutils/pstack doesn't output any thread information.
This fix changes this field back to non-static.
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D11738
tuexen [Mon, 2 Oct 2017 20:02:25 +0000 (20:02 +0000)]
Whitespace changes: Remove leading spaces followed by a tab.
manu [Mon, 2 Oct 2017 19:17:09 +0000 (19:17 +0000)]
Allwinner H3 CCU: Fix build on ARM64
ccu_h3.c is also used on ARM64 as it provides clocks for the H5 SoC.
Since ARM64 doesn't have sys/gun/dts/include in it's include path, use
the full name for the sun8i-h3-ccu.h include.
Reported by: andreast
tuexen [Mon, 2 Oct 2017 18:25:30 +0000 (18:25 +0000)]
Fix a bug which avoided that rules for matching port numbers for SCTP
packets where actually matched.
While there, make clean in the man-page that SCTP port numbers are
supported in rules.
MFC after: 1 month
manu [Mon, 2 Oct 2017 17:20:07 +0000 (17:20 +0000)]
Allwinner GPIO: Fail if we cannot enable a clock
If we cannot enable a clock (which is required to have the device
working), do not attach the device as it will not work.
manu [Mon, 2 Oct 2017 16:39:12 +0000 (16:39 +0000)]
Allwinner: Remove a10_gpio.h
a10_gpio.h isn't used since a long time, remove it from the tree.
eugen [Mon, 2 Oct 2017 16:33:04 +0000 (16:33 +0000)]
rsh: introduce new option -N disabling shutdown of socket sending path.
This prevents premature disconnection of rsh session with protocol
implementation confused by "end-of-file" condition for standard
input stream. For example, modern Cisco IOS (15.x) versions
can be managed with "rsh -N" cron jobs having /dev/null as stdin.
PR: 205144
Approved by: avg (mentor)
MFC after: 1 week
manu [Mon, 2 Oct 2017 16:21:20 +0000 (16:21 +0000)]
Allwinner A31 ccu: Use clock/reset IDs from dt-bindings
Do not redefines resets and clocks ID which are already in the
dt-bindings include directory. Those files are under dual licenced
under GPL2/MIT so use them directly.
manu [Mon, 2 Oct 2017 16:12:06 +0000 (16:12 +0000)]
Allwinner A64 ccu: Use clock/reset IDs from dt-bindings
Do not redefines resets and clocks ID which are already in the
dt-bindings include directory. Those files are under dual licenced
under GPL2/MIT so use them directly.
gjb [Mon, 2 Oct 2017 15:56:45 +0000 (15:56 +0000)]
Bump armv6 SoC images to 2.25GB. RPI-B is full, so increase all
image sizes for consistency.
Submitted by: manu
Sponsored by: The FreeBSD Foundation
manu [Mon, 2 Oct 2017 15:48:39 +0000 (15:48 +0000)]
Allwinner H3 ccu: Use clock/reset IDs from dt-bindings
Do not redefines resets and clocks ID which are already in the
dt-bindings include directory. Those files are under dual licence
GPL2/MIT so use them directly.