Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Console View


Tags: Architectures Distributions Performance Style Tests default
Legend:   Passed Failed Warnings Failed Again Running Exception Offline No data

Architectures Distributions Performance Style Tests default
loli10K
Prevent NULL pointer dereference in blkg_tryget() on EL8 kernels

blkg_tryget() as shipped in EL8 kernels does not seem to handle NULL
@blkg as input; this is different from its mainline counterpart where
NULL is accepted.  To prevent dereferencing a NULL pointer when dealing
with block devices which do not set a root_blkg on the request queue
perform the NULL check in vdev_bio_associate_blkg().

Signed-off-by: loli10K <ezomori.nozomu@gmail.com>

Pull-request: #9577 part 1/1
Ross Williams
Reorganize zfs(8) man page into sections

Most subcommands got their own manpages (e.g. create). Some related
commands grouped into a single manpage and symlinks created (e.g. set,
get, and inherit). I did this when topics were either too short to
warrant their own file or so interrelated that a user would want to
refer between commands in the same file.

Corrected .Sx internal references to .Xr cross refs; lots of .Sx
references from when text was all in zfs.8 needed to be changed to
.Xr zfs-$SUBCOMMAND 8 cross references.

Divided subcommand list in zfs(8) into sections of related
functionality. This required writing new descriptions for some
commands.

Preserved ".Os Linux", `.Os` macro parsing behavior differs between
mandoc from the "BSD" mandoc package (available on Ubuntu) and man
from Ubuntu's man-db package, which calls groff to format the manpages.

Groff handles the `.Os` macro differently and wrongly, defaulting
it to "BSD" in `/usr/share/groff/*/tmac/mdoc/doc-common`, instead of
getting the default from `uname`.

A future set of changes will introduce build-time preprocessing of
manpages for platform-specific documentation and can insert the
correct operating system name.

Added SEE ALSO sections, the newly-divided zfs-*.8 subcommand man
pages needed their own SEE ALSO sections pointing to related
subcommands and, in some cases, documentation from other packages
(e.g. zfs-share.8).

Reviewed-by: Matt Ahrens <matt@delphix.com>
Reviewed-by: Kjeld Schouten <kjeld@schouten-lebbing.nl>
Reviewed-by: Sean Eric Fagan <sef@ixsystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ross Williams <ross@ross-williams.net>
Closes #9559
Matthew Macy
Add wrapper stub for zfs_cmd ioctl to libzpool

FreeBSD needs a wrapper for handling zfs_cmd ioctls.
In libzfs this is handled by zfs_ioctl. However, here
we need to wrap the call directly.

Reviewed-by: Allan Jude <allanjude@freebsd.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Closes #9511
Brian Behlendorf
Linux compat: Minimum kernel version 3.10

Increase the minimum supported kernel version from 2.6.32 to 3.10.
This removes support for the following Linux enterprise distributions.

    Distribution    | Kernel | End of Life
    ---------------- | ------ | -------------
    Ubuntu 12.04 LTS | 3.2    | Apr 28, 2017
    SLES 11          | 3.0    | Mar 32, 2019
    RHEL / CentOS 6  | 2.6.32 | Nov 30, 2020

The following changes were made as part of removing support.

* Updated `configure` to enforce a minimum kernel version as
  specified in the META file (Linux-Minimum: 3.10).

    configure: error:
        *** Cannot build against kernel version 2.6.32.
        *** The minimum supported kernel version is 3.10.

* Removed all `configure` kABI checks and matching C code for
  interfaces which solely predate the Linux 3.10 kernel.

* Updated all `configure` kABI checks to fail when an interface is
  missing which was in the 3.10 kernel up to the latest 5.1 kernel.
  Removed the HAVE_* preprocessor defines for these checks and
  updated the code to unconditionally use the verified interface.

* Inverted the detection logic in several kABI checks to match
  the new interface as it appears in 3.10 and newer and not the
  legacy interface.

* Consolidated the following checks in to individual files. Due
  the large number of changes in the checks it made sense to handle
  this now.  It would be desirable to group other related checks in
  the same fashion, but this as left as future work.

  - config/kernel-blkdev.m4 - Block device kABI checks
  - config/kernel-blk-queue.m4 - Block queue kABI checks
  - config/kernel-bio.m4 - Bio interface kABI checks

* Removed the kABI checks for sops->nr_cached_objects() and
  sops->free_cached_objects().  These interfaces are currently unused.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #9566
InsanePrawn
Remove inappropiate error message suggesting to use '-r'

Removes an incorrect error message from libzfs that suggests applying
'-r' when a zfs subcommand is called with a filesystem path while
expecting either a snapshot or bookmark path.

Signed-off-by: InsanePrawn <insane.prawny@gmail.com>

Pull-request: #9574 part 1/1
Ross Williams
zpoolprops.8: Move `autotrim` into lexical order

Autotrim tacked onto the end of a list. Now it is in
alphabetical order.

Pull-request: #9564 part 3/7
Ross Williams
zpool-*.8: Add appropriate SEE ALSO sections

Divided zpool subcommand manual pages need their
own SEE ALSO sections. Also modified fsck.zfs.8 to point
directly to zfs-scrub.8 and zed.8.in to include a direct
reference to zfs-events.8

Pull-request: #9564 part 2/7
Ross Williams
Extract subcommands from zpool(8)

Moved subcommand topics into individual manpages.
Reordered and grouped the list of subcommands by topic.

Moved concepts overview to `zpoolconcepts.8` and long
list of available pool properties to `zpoolprops.8`.

Internal cross-references copied from `zpool.8` needed
to be converted to `.Xr` external references to new
subcommand manual pages.

Added new manpages to Makefile.am

Signed-off-by: Ross Williams <ross@ross-williams.net>

Pull-request: #9564 part 1/7
Ross Williams
zpool.8: clarify split command description

h/t @ahrens, his wording.
Say what split actually does and why you'd want to do it.

Pull-request: #9564 part 6/6
Ross Williams
zpool.8: simplify replace description

h/t @ahrens
Make description simpler; don't refer to subcommand arguments.

Pull-request: #9564 part 5/6
Ross Williams
zpool.8: clarify attach/detach description

h/t @ahrens
Description was too specific to command syntax. Overview
clarifies reason for attaching or detaching a device.

Pull-request: #9564 part 4/6
Ross Williams
zpoolprops.8: Move `autotrim` into lexical order

Autotrim tacked onto the end of a list. Now it is in
alphabetical order.

Pull-request: #9564 part 3/6
Ross Williams
zpool-*.8: Add appropriate SEE ALSO sections

Divided zpool subcommand manual pages need their
own SEE ALSO sections. Also modified fsck.zfs.8 to point
directly to zfs-scrub.8 and zed.8.in to include a direct
reference to zfs-events.8

Pull-request: #9564 part 2/6
Ross Williams
Extract subcommands from zpool(8)

Moved subcommand topics into individual manpages.
Reordered and grouped the list of subcommands by topic.

Moved concepts overview to `zpoolconcepts.8` and long
list of available pool properties to `zpoolprops.8`.

Internal cross-references copied from `zpool.8` needed
to be converted to `.Xr` external references to new
subcommand manual pages.

Added new manpages to Makefile.am

Signed-off-by: Ross Williams <ross@ross-williams.net>

Pull-request: #9564 part 1/6
Ross Williams
zpool.8: simplify replace description

h/t @ahrens
Make description simpler; don't refer to subcommand arguments.

Pull-request: #9564 part 5/5
Ross Williams
zpool.8: clarify attach/detach description

h/t @ahrens
Description was too specific to command syntax. Overview
clarifies reason for attaching or detaching a device.

Pull-request: #9564 part 4/5
Ross Williams
zpoolprops.8: Move `autotrim` into lexical order

Autotrim tacked onto the end of a list. Now it is in
alphabetical order.

Pull-request: #9564 part 3/5
Ross Williams
zpool-*.8: Add appropriate SEE ALSO sections

Divided zpool subcommand manual pages need their
own SEE ALSO sections. Also modified fsck.zfs.8 to point
directly to zfs-scrub.8 and zed.8.in to include a direct
reference to zfs-events.8

Pull-request: #9564 part 2/5
Ross Williams
Extract subcommands from zpool(8)

Moved subcommand topics into individual manpages.
Reordered and grouped the list of subcommands by topic.

Moved concepts overview to `zpoolconcepts.8` and long
list of available pool properties to `zpoolprops.8`.

Internal cross-references copied from `zpool.8` needed
to be converted to `.Xr` external references to new
subcommand manual pages.

Added new manpages to Makefile.am

Signed-off-by: Ross Williams <ross@ross-williams.net>

Pull-request: #9564 part 1/5
Ross Williams
zpool.8: clarify attach/detach description

h/t @ahrens
Description was too specific to command syntax. Overview
clarifies reason for attaching or detaching a device.

Pull-request: #9564 part 4/4
Ross Williams
zpoolprops.8: Move `autotrim` into lexical order

Autotrim tacked onto the end of a list. Now it is in
alphabetical order.

Pull-request: #9564 part 3/4
Ross Williams
zpool-*.8: Add appropriate SEE ALSO sections

Divided zpool subcommand manual pages need their
own SEE ALSO sections. Also modified fsck.zfs.8 to point
directly to zfs-scrub.8 and zed.8.in to include a direct
reference to zfs-events.8

Pull-request: #9564 part 2/4
Ross Williams
Extract subcommands from zpool(8)

Moved subcommand topics into individual manpages.
Reordered and grouped the list of subcommands by topic.

Moved concepts overview to `zpoolconcepts.8` and long
list of available pool properties to `zpoolprops.8`.

Internal cross-references copied from `zpool.8` needed
to be converted to `.Xr` external references to new
subcommand manual pages.

Added new manpages to Makefile.am

Signed-off-by: Ross Williams <ross@ross-williams.net>

Pull-request: #9564 part 1/4
Ross Williams
zpoolprops.8: Move `autotrim` into lexical order

Autotrim tacked onto the end of a list. Now it is in
alphabetical order.

Pull-request: #9564 part 3/3
Ross Williams
zpool-*.8: Add appropriate SEE ALSO sections

Divided zpool subcommand manual pages need their
own SEE ALSO sections. Also modified fsck.zfs.8 to point
directly to zfs-scrub.8 and zed.8.in to include a direct
reference to zfs-events.8

Pull-request: #9564 part 2/3
Ross Williams
Extract subcommands from zpool(8)

Moved subcommand topics into individual manpages.
Reordered and grouped the list of subcommands by topic.

Moved concepts overview to `zpoolconcepts.8` and long
list of available pool properties to `zpoolprops.8`.

Internal cross-references copied from `zpool.8` needed
to be converted to `.Xr` external references to new
subcommand manual pages.

Added new manpages to Makefile.am

Signed-off-by: Ross Williams <ross@ross-williams.net>

Pull-request: #9564 part 1/3
Matthew Macy
Factor out non-portable vnode_t usage

On FreeBSD file offset state is maintained in struct file. A given
vnode can be referenced from many different struct file *. As a
consequence, FreeBSD's SPL doesn't support vn_rdwr with the FAPPEND
flag.

This change replaces the non-portable vnode_t with the portable
file_t in the common code.

Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #9556 part 1/1
Matthew Macy
Factor out non-portable vnode_t usage

On FreeBSD file offset state is maintained in struct file. A given
vnode can be referenced from many different struct file *. As a
consequence, FreeBSD's SPL doesn't support vn_rdwr with the FAPPEND
flag.

This change replaces the non-portable vnode_t with the portable
file_t in the common code.

Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #9556 part 1/1
Matthew Macy
Factor out non-portable vnode_t usage

On FreeBSD file offset state is maintained in struct file. A given
vnode can be referenced from many different struct file *. As a
consequence, FreeBSD's SPL doesn't support vn_rdwr with the FAPPEND
flag.

This change replaces the non-portable vnode_t with the portable
file_t in the common code.

Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #9556 part 1/1
  • Amazon 2 x86_64 (BUILD): cloning zfs -  stdio
  • Debian 8 arm (BUILD): cloning zfs -  stdio
  • Debian 8 ppc (BUILD): cloning zfs -  stdio
  • CentOS 6 x86_64 (BUILD): cloning zfs -  stdio
  • CentOS 7 x86_64 (BUILD): cloning zfs -  stdio
  • Debian 10 x86_64 (BUILD): cloning zfs -  stdio
  • Kernel.org Built-in x86_64 (BUILD): cloning zfs -  stdio
  • Ubuntu 16.04 x86_64 (BUILD): cloning zfs -  stdio
  • Ubuntu 18.04 x86_64 (BUILD): cloning zfs -  stdio
  • Ubuntu 17.10 x86_64 (STYLE): cloning zfs -  stdio
Matthew Macy
Factor out non-portable vnode_t usage

On FreeBSD file offset state is maintained in struct file. A given
vnode can be referenced from many different struct file *. As a
consequence, FreeBSD's SPL doesn't support vn_rdwr with the FAPPEND
flag.

This change replaces the non-portable vnode_t with the portable
file_t in the common code.

Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #9556 part 1/1
Matthew Macy
Factor out non-portable vnode_t usage

On FreeBSD file offset state is maintained in struct file. A given
vnode can be referenced from many different struct file *. As a
consequence, FreeBSD's SPL doesn't support vn_rdwr with the FAPPEND
flag.

This change replaces the non-portable vnode_t with the portable
file_t in the common code.

Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #9556 part 1/1
Matthew Macy
Factor out non-portable vnode_t usage

On FreeBSD file offset state is maintained in struct file. A given
vnode can be referenced from many different struct file *. As a
consequence, FreeBSD's SPL doesn't support vn_rdwr with the FAPPEND
flag.

This change replaces the non-portable vnode_t with the portable
file_t in the common code.

Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #9556 part 1/1
  • Amazon 2 x86_64 (BUILD): cloning zfs -  stdio
  • Debian 8 arm (BUILD): cloning zfs -  stdio
  • Debian 8 ppc (BUILD): cloning zfs -  stdio
  • CentOS 7 x86_64 (BUILD): cloning zfs -  stdio
  • Debian 10 x86_64 (BUILD): cloning zfs -  stdio
  • Ubuntu 16.04 x86_64 (BUILD): cloning zfs -  stdio
  • Ubuntu 18.04 x86_64 (BUILD): cloning zfs -  stdio
Matthew Macy
Factor out non-portable vnode_t usage

On FreeBSD file offset state is maintained in struct file. A given
vnode can be referenced from many different struct file *. As a
consequence, FreeBSD's SPL doesn't support vn_rdwr with the FAPPEND
flag.

This change replaces the non-portable vnode_t with the portable
file_t in the common code.

Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #9556 part 1/1
Matthew Macy
Factor out non-portable vnode_t usage

On FreeBSD file offset state is maintained in struct file. A given
vnode can be referenced from many different struct file *. As a
consequence, FreeBSD's SPL doesn't support vn_rdwr with the FAPPEND
flag.

This change replaces the non-portable vnode_t with the portable
file_t in the common code.

Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #9556 part 1/1
Matthew Macy
Factor out non-portable vnode_t usage

On FreeBSD file offset state is maintained in struct file. A given
vnode can be referenced from many different struct file *. As a
consequence, FreeBSD's SPL doesn't support vn_rdwr with the FAPPEND
flag.

This change replaces the non-portable vnode_t with the portable
file_t in the common code.

Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #9556 part 1/1
  • Debian 8 arm (BUILD): cloning zfs -  stdio
  • Debian 8 ppc (BUILD): cloning zfs -  stdio
  • Debian 10 x86_64 (BUILD): cloning zfs -  stdio
  • Kernel.org Built-in x86_64 (BUILD): cloning zfs -  stdio
  • Ubuntu 18.04 x86_64 (BUILD): cloning zfs -  stdio
Matthew Macy
Factor out non-portable vnode_t usage

On FreeBSD file offset state is maintained in struct file. A given
vnode can be referenced from many different struct file *. As a
consequence, FreeBSD's SPL doesn't support vn_rdwr with the FAPPEND
flag.

This change replaces the non-portable vnode_t with the portable
file_t in the common code.

Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #9556 part 1/1
Michael Niewöhner
check for __GFP_RECLAIM instead of GFP_KERNEL

check for __GFP_RECLAIM instead of GFP_KERNEL because zfs modfies
IO and FS flags which breaks the check for GFP_KERNEL.

Signed-off-by: Michael Niewöhner <foss@mniewoehner.de>

Pull-request: #9034 part 4/4
Michael Niewöhner
Add kmem_cache flag for forcing kvmalloc

This adds a new KMC_KVMEM flag was added to enforce use of the
kvmalloc allocator in kmem_cache_create even for large blocks, which
may also increase performance in some specific cases (e.g. zstd), too.

Default to KVMEM instead of VMEM in spl_kmem_cache_create.

Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Signed-off-by: Michael Niewöhner <foss@mniewoehner.de>

Pull-request: #9034 part 3/4
Michael Niewöhner
Make use of kvmalloc if available and fix vmem_alloc implementation

This patch implements use of kvmalloc for GFP_KERNEL allocations, which
may increase performance if the allocator is able to allocate physical
memory, if kvmalloc is available as a public kernel interface (since
v4.12). Otherwise it will simply fall back to virtual memory (vmalloc).

Also fix vmem_alloc implementation which can lead to slow allocations
since the first attempt with kmalloc does not make use of the noretry
flag but tells the linux kernel to retry several times before it fails.

Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Signed-off-by: Michael Niewöhner <foss@mniewoehner.de>

Pull-request: #9034 part 2/4
Michael Niewöhner
Add missing documentation for some KMC flags

Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Signed-off-by: Michael Niewöhner <foss@mniewoehner.de>

Pull-request: #9034 part 1/4