Branch: master
Commits on Feb 17, 2019
  1. libnv: fix revert

    oshogbo committed Feb 17, 2019
    Reported by:	jenkins
  2. libnv: fix double free

    oshogbo committed Feb 17, 2019
    In r343986 we introduced a double free. The structure was already
    freed fixed in the r302966. This problem was introduced
    because the GitHub version was out of sync with the FreeBSD one.
    Submitted by:	Mindaugas Rasiukevicius <>
    MFC with:	r343986
  3. It turns out r344226 narrowed the overrun bug but did not eliminate i…

    pkelsey committed Feb 17, 2019
    …t entirely
    This commit fixes a remaining output buffer overrun in the
    single-sector case when there is a non-zero tail.
    Reviewed by:	allanjude, tsoome
    MFC after:	3 months
    MFC with:	r344226
    Differential Revision:
  4. Fix refcount leaks in the SGX Linux compat ioctl handler.

    markjdb committed Feb 17, 2019
    Some argument validation error paths would return without releasing the
    file reference obtained at the beginning of the function.
    While here, fix some style bugs and remove trivial debug prints.
    Reviewed by:	kib
    MFC after:	1 week
    Sponsored by:	The FreeBSD Foundation
    Differential Revision:
  5. Remove a redundant flag variable.

    markjdb committed Feb 17, 2019
    Use the object pointer itself to determine whether the object is locked.
    No functional change intended.
    Reviewed by:	kib
    MFC after:	1 week
    Sponsored by:	Netflix
    Differential Revision:
  6. Remove whole-disk vdev support from zfsboot

    pkelsey committed Feb 17, 2019
    This is consistent with the removal of whole-disk vdev support from
    libsa/zfs/zfs.c in r342151, and is part way to having the LBAs read
    during probe be fully constrained by partition tables when present.
    Reviewed by:	tsoome
    MFC after:	3 months
    Differential Revision:
  7. Fix memory corruption bug introduced in r325310

    pkelsey committed Feb 17, 2019
    The bug occurred when a bounce buffer was used and the requested read
    size was greater than the size of the bounce buffer.  This commit also
    rewrites the read logic so that it is easier to systematically verify
    all alignment and size cases.
    Reviewed by:	allanjude, tsoome
    MFC after:	3 months
    Differential Revision:
  8. Add sysctl for setting battery charging current.

    ganbold ganbold
    ganbold authored and ganbold committed Feb 17, 2019
    The charging current can be set using steps
    from 0: 200mA to 13: 2800mA (200mA/step).
    While there, fix battery charging current related
    sensor descriptions.
    Reviewed by:	manu
    Differential Revision:
Commits on Feb 16, 2019
  1. mdmfs(8): use -o reserve with malloc-backed md(4)

    kevans91 committed Feb 16, 2019
    Mentioned in mdconfig(8), malloc-backed md(4) can be unstable unless
    required memory is allocated up front with -o reserve. Furthermore, panics
    have been observed with md used in fstab on 12.0-RELEASE. Choose the stable
    route and pass -o reserve.
    Submitted by:	Paul Vixie
    MFC after:	1 week
  2. Few more corrections to WITHOUT_OFED=1 make delete-old removal:

    avos avos
    avos authored and avos committed Feb 16, 2019
    - Drop profile libraries; MK_PROFILE=no is set in all Makefile's.
    - Correct library path to and
    MFC after:	5 days
    MFC with:	344207
  3. Remove corresponding lib32/ files when WITHOUT_OFED=1 is set

    avos avos
    avos authored and avos committed Feb 16, 2019
    MFC after:	5 days
    MFC with:	344207
  4. Refresh for MK_PMC:

    avos avos
    avos authored and avos committed Feb 16, 2019
    - Add missing /usr/sbin/pmc, pmcformat.h, libpmcstat.h and pmc.haswellxeon.3
    to the list.
    - Correct man page section for pmcstudy.8.
    - Include recently added libipt and libopencsd for corresponding TARGET_ARCH
    MFC after:	5 days
  5. wlandebug: disable PIE to fix build failure

    emaste committed Feb 16, 2019
    libifconfig is built as a static-only PRIVATELIB (and there is no _pie.a
    version) so disable PIE in libifconfig's consumer.
    Sponsored by:	The FreeBSD Foundation
  6. Add more rc.d scripts / empty directors / config files into

    avos avos
    avos authored and avos committed Feb 16, 2019
    Note: only files with conditional installation logic were
    included from the PR.
    PR:		233046
    Submitted by:	<>
    MFC after:	5 days
  7. Allow to remove unused files via 'make delete-old(-libs)' when WITHOU…

    avos avos
    avos authored and avos committed Feb 16, 2019
    and / or WITHOUT_OFED_EXTRA src.conf(5) options are set.
    MFC after:	5 days
  8. powerpc/booke: Fix 32-bit build

    chmeeedalf committed Feb 16, 2019
    MFC after:	2 weeks
    MFC with:	344202
  9. powerpc/booke: depessimize MAS register updates

    chmeeedalf committed Feb 16, 2019
    We only need to isync before we actually use the MAS registers, so before and
    after the TLB read/write/sync/search operations.
    MFC after:	2 weeks
  10. powerpc/booke: Use DMAP where possible for page copy and zeroing

    chmeeedalf committed Feb 16, 2019
    This avoids several locks and pmap_kenter()'s, improving performance
    MFC after:	2 weeks
  11. Remove vi(1)-related files via 'make delete-old' when WITHOUT_VI=1 is…

    avos avos
    avos authored and avos committed Feb 16, 2019
    … set.
    MFC after:	5 days
  12. GC ATA_REQUEST_TIMEOUT option remnants

    avos avos
    avos authored and avos committed Feb 16, 2019
    It was removed from code in r249083 and from sys/conf/options in r249213.
    PR:		222170
    MFC after:	3 days
  13. Add support for a virtual hostname to nfsd

    kithrup committed Feb 16, 2019
    Specifically, this allows (via "-V vhostname") telling nfsd what principal
    to use, instead of the hostname.  This is used at iXsystems for fail-over in
    HA systems.
    Reviewed by:	macklem
    Sponsored by:	iXsystems Inc.
    Differential Revision:
  14. Remove write-only s_flag.

    bsdimp committed Feb 16, 2019
Commits on Feb 15, 2019
  1. Fixup after r344182

    cemeyer committed Feb 15, 2019
    Reported by:	tinderbox
    Sponsored by:	Dell EMC Isilon
  2. For 32-bit machines rollback the default number of vnode pager pbufs

    glebius committed Feb 15, 2019
    back to the lever before r343030.  For 64-bit machines reduce it slightly,
    too.  Together with r343030 I bumped the limit up to the value we use at
    Netflix to serve 100 Gbit/s of sendfile traffic, and it probably isn't a
    good default.
    Provide a loader tunable to change vnode pager pbufs count. Document it.
  3. FUSE: Refresh cached file size when it changes (lookup)

    cemeyer committed Feb 15, 2019
    The cached fvdat->filesize is indepedent of the (mostly unused)
    cached_attrs, and we failed to update it when a cached (but perhaps
    inactive) vnode was found during VOP_LOOKUP to have a different size than
    As noted in the code comment, this can occur in distributed filesystems or
    with other kinds of irregular file behavior (anything is possible in FUSE).
    We do something similar in fuse_vnop_getattr already.
    PR:		230258 (as reported in description; other issues explored in
    			comments are not all resolved)
    Reported by:	MooseFS FreeBSD Team <freebsd AT>
    Submitted by:	Jakub Kruszona-Zawadzki <acid AT> (earlier version)
  4. FUSE: The FUSE design expects writethrough caching

    cemeyer committed Feb 15, 2019
    At least prior to 7.23 (which adds FUSE_WRITEBACK_CACHE), the FUSE protocol
    specifies only clean data to be cached.
    Prior to this change, we implement and default to writeback caching.  This
    is ok enough for local only filesystems without hardlinks, but violates the
    general design contract with FUSE and breaks distributed filesystems or
    concurrent access to hardlinks of the same inode.
    In this change, add cache mode as an extension of cache enable/disable.  The
    new modes are UC (was: cache disabled), WT (default), and WB (was: cache
    For now, WT caching is implemented as write-around, which meets the goal of
    only caching clean data.  WT can be better than WA for workloads that
    frequently read data that was recently written, but WA is trivial to
    implement.  Note that this has no effect on O_WRONLY-opened files, which
    were already coerced to write-around.
      * vgough/encfs#315
    PR:		230258 (inspired by)
  5. FUSE: Only "dirty" cached file size when data is dirty

    cemeyer committed Feb 15, 2019
    Most users of fuse_vnode_setsize() set the cached fvdat->filesize and update
    the buf cache bounds as a result of either a read from the underlying FUSE
    filesystem, or as part of a write-through type operation (like truncate =>
    VOP_SETATTR).  In these cases, do not set the FN_SIZECHANGE flag, which
    indicates that an inode's data is dirty (in particular, that the local buf
    cache and fvdat->filesize have dirty extended data).
    PR:		230258 (related)
  6. FUSE: Respect userspace FS "do-not-cache" of path components

    cemeyer committed Feb 15, 2019
    The FUSE protocol demands that kernel implementations cache user filesystem
    path components (lookup/cnp data) for a maximum period of time in the range
    of [0, ULONG_MAX] seconds.  In practice, typical requests are for 0, 1, or
    10 seconds; or "a long time" to represent indefinite caching.
    Historically, FreeBSD FUSE has ignored this client directive entirely.  This
    works fine for local-only filesystems, but causes consistency issues with
    multi-writer network filesystems.
    For now, respect 0 second cache TTLs and do not cache such metadata.
    Non-zero metadata caching TTLs in the range [0.000000001, ULONG_MAX] seconds
    are still cached indefinitely, because it is unclear how a userspace
    filesystem could do anything sensible with those semantics even if
    Pass fuse_entry_out to fuse_vnode_get when available and only cache lookup
    if the user filesystem did not set a zero second TTL.
    PR:		230258 (inspired by; does not fix)