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
Tomohiro Kusumi
Don't directly cast unsigned long to void*

Cast to uintptr_t first for portability on integer to/from pointer
conversion.

Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>

Pull-request: #9065 part 1/1
Matthew Ahrens
Replace zf_rwlock with a mutex

The rwlock implementation on linux does not perform as well as mutexes.
We can realize a performance benefit by replacing the zf_rwlock with a
mutex.  Local microbenchmarks show ~50% improvement, and over NFS we see
~5% improvement on several of the ZFS Performance Tests cases,
especially randwrite and seq_write.

Signed-off-by: Matthew Ahrens <mahrens@delphix.com>

Pull-request: #9062 part 1/1
Serapheim Dimitropoulos
Race condition between spa async threads and export

In the past we've seen multiple race conditions that have
to do with open-context threads async threads and concurrent
calls to spa_export()/spa_destroy() (including the one
referenced in issue #9015).

This patch ensures that only one thread can execute the
main body of spa_export_common() at a time, with subsequent
threads returning with a new error code created just for
this situation, eliminating this way any race condition
bugs introduced by concurrent calls to this function.

Reviewed by: Matt Ahrens <matt@delphix.com>
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Serapheim Dimitropoulos <serapheim@delphix.com>
Closes #9015
Closes #9044
Serapheim Dimitropoulos
hdr_recl calls zthr_wakeup() on destroyed zthr

There exists a race condition were hdr_recl() calls
zthr_wakeup() on a destroyed zthr. The timeline is the
following:

[1] hdr_recl() runs first and goes intro zthr_wakeup()
    because arc_initialized is set.
[2] arc_fini() is called by another thread, zeroes
    that flag, destroying the zthr, and goes into
    buf_init().
[3] hdr_recl() tries to enter the destroyed mutex
    and we blow up.

This patch ensures that the ARC's zthrs are not offloaded
any new work once arc_initialized is set and then destroys
them after all of the ARC state has been deleted.

Reviewed by: Matt Ahrens <matt@delphix.com>
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Serapheim Dimitropoulos <serapheim@delphix.com>
Closes #9047
Serapheim Dimitropoulos
zdb: don't print log spacemap stats in pools without the feature

Creating a pool with not features enabled and running
`zdb -mmmmmm on` it before the patch:

```
Log Space Maps in Pool:

Log Space Map Obsolete Entry Statistics:
0        valid entries out of 0        - txg 0
0        valid entries out of 0        - total
```

After this patch the above output goes away.

Reviewed by: Matt Ahrens <matt@delphix.com>
Reviewed by: Sara Hartse <sara.hartse@delphix.com>
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Serapheim Dimitropoulos <serapheim@delphix.com>
Closes #9048
Chunwei Chen
Fix out-of-order ZIL txtype lost on hardlinked files

We should only call zil_remove_async when an object is removed. However,
in current implementation, it is called whenever TX_REMOVE is called. In
the case of hardlinked file, every unlink will generate TX_REMOVE and
causing operations to be dropped even when the object is not removed.

We fix this by only calling zil_remove_async when the file is fully
unlinked.

Closes #8769
Signed-off-by: Chunwei Chen <david.chen@nutanix.com>

Pull-request: #9061 part 1/1
Chunwei Chen
Fix out-of-order ZIL txtype lost on hardlinked files

We should only call zil_remove_async when an object is removed. However,
in current implementation, it is called whenever TX_REMOVE is called. In
the case of hardlinked file, every unlink will generate TX_REMOVE and
causing operations to be dropped even when the object is not removed.

We fix this by only calling zil_remove_async when the file is fully
unlinked.

Closes #8769
Signed-off-by: Chunwei Chen <david.chen@nutanix.com>

Pull-request: #9061 part 1/1
  • Debian 8 ppc (BUILD): cloning zfs -  stdio
Tomohiro Kusumi
Fix wrong comment on zcr_blksz_{min,max}

These aren't tunable; illumos has this comment fixed in
"3742 zfs comments need cleaner, more consistent style",
so sync with that.

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
Closes #9052
Matthew Ahrens
zed crashes when devid not present

zed core dumps due to a NULL pointer in zfs_agent_iter_vdev(). The
gs_devid is NULL, but the nvl has a "devid" entry.

zfs_agent_post_event() checks that ZFS_EV_VDEV_GUID or DEV_IDENTIFIER is
present in nvl, but then later it and zfs_agent_iter_vdev() assume that
DEV_IDENTIFIER is present and thus gs_devid is set.

Typically this is not a problem because usually either all vdevs have
devid's, or none of them do. Since zfs_agent_iter_vdev() first checks if
the vdev has devid before dereferencing gs_devid, the problem isn't
typically encountered. However, if some vdevs have devid's and some do
not, then the problem is easily reproduced.  This can happen if the pool
has been moved from a system that has devid's to one that does not.

The fix is for zfs_agent_iter_vdev() to only try to match the devid's if
both nvl and gsp have devid's present.

Signed-off-by: Matthew Ahrens <mahrens@delphix.com>
External-issue: DLPX-65090
Closes #9054

Pull-request: #9060 part 1/1
Shaun Tancheff
SUSE kernel module package -kmp convention

SUSE packaging style is to include kernel modules in a package
named PACKAGE-kmp where the Fedora convention is kmod-PACKAGE
and PACKAGE-kmod.

Update the kmodtool to generate packages named using the SUSE
convention style when the host machine is SUSE based.

Signed-off-by: Shaun Tancheff <stancheff@cray.com>

Pull-request: #9059 part 4/4
Shaun Tancheff
Update kmodtool for ZFS

Add --devel support for building *-kmod-devel packages

Inline kmodtool-kernel-variant

Signed-off-by: Shaun Tancheff <stancheff@cray.com>

Pull-request: #9059 part 3/4
Shaun Tancheff
Re-Sync kmodtool with Fedora upstream SUSE kmp [pending]

Upstream (WIP) support for SUSE kmp:

    SUSE kernel module package -kmp convention

    SUSE packaging style is to include kernel modules in a package
    named PACKAGE-kmp where the Fedora convention is kmod-PACKAGE
    and PACKAGE-kmod.

    Update the kmodtool to generate packages named using the SUSE
    convention style when the host machine is SUSE based.

Signed-off-by: Shaun Tancheff <stancheff@cray.com>

Pull-request: #9059 part 2/4
Tony Hutter
Move some tests to cli_user/zpool_status

The tests in tests/functional/cli_root/zpool_status should all require
root. However, linux.run has "user =" specified for those tests, which
means they run as a normal user.  When I removed that line to run them
as root, the following tests did not pass:

zpool_status_003_pos
zpool_status_-c_disable
zpool_status_-c_homedir
zpool_status_-c_searchpath

These tests need to be run as a normal user.  To fix this, move these
tests to a new tests/functional/cli_user/zpool_status directory.

Signed-off-by: Tony Hutter <hutter2@llnl.gov>

Pull-request: #9057 part 1/1
Clint Armstrong
Add channel program for property based snapshots

Channel programs that many users find useful should be included with zfs
in the /contrib directory. This is the first of these contributions. A
channel program to recursively take snapshots of datasets with the
property com.sun:auto-snapshot=true.

Signed-off-by: Clint Armstrong <clint@clintarmstrong.net>

Pull-request: #9050 part 1/1
Clint Armstrong
Add channel program for property based snapshots

Channel programs that many users find useful should be included with zfs
in the /contrib directory. This is the first of these contributions. A
channel program to recursively take snapshots of datasets with the
property com.sun:auto-snapshot=true.

Signed-off-by: Clint Armstrong <clint@clintarmstrong.net>

Pull-request: #9050 part 1/1
Tomohiro Kusumi
Implement secpolicy_vnode_setid_retain()

Don't unconditionally return 0 (i.e. retain SUID/SGID).
Test CAP_FSETID capability.

https://github.com/pjd/pjdfstest/blob/master/tests/chmod/12.t
which expects SUID/SGID to be dropped on write(2) by non-owner fails
without this. Most filesystems make this decision within VFS by using
a generic file write for fops.

Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>

Pull-request: #9043 part 1/1
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 2/2
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 1/2
Alek Pinchuk
Add 'zfs send --partial' flag

This commit adds the --partial (-S) to the 'zfs send' command.
This flag allows a user to send a partially received dataset,
which can be useful when migrating a backup server to new
hardware. This flag is compatible with resumable receives, so
even if the partial transfer is interrupted, it can be resumed.
The flag does not require any user / kernel ABI changes or any
new feature flags in the send stream format.

Signed-off-by: Tom Caputi <tcaputi@datto.com>

Pull-request: #9007 part 1/1
Alek Pinchuk
Add 'zfs send --partial' flag

This commit adds the --partial (-S) to the 'zfs send' command.
This flag allows a user to send a partially received dataset,
which can be useful when migrating a backup server to new
hardware. This flag is compatible with resumable receives, so
even if the partial transfer is interrupted, it can be resumed.
The flag does not require any user / kernel ABI changes or any
new feature flags in the send stream format.

Signed-off-by: Tom Caputi <tcaputi@datto.com>

Pull-request: #9007 part 1/1
Alek Pinchuk
Add 'zfs send --partial' flag

This commit adds the --partial (-S) to the 'zfs send' command.
This flag allows a user to send a partially received dataset,
which can be useful when migrating a backup server to new
hardware. This flag is compatible with resumable receives, so
even if the partial transfer is interrupted, it can be resumed.
The flag does not require any user / kernel ABI changes or any
new feature flags in the send stream format.

Signed-off-by: Tom Caputi <tcaputi@datto.com>

Pull-request: #9007 part 1/1
Alek Pinchuk
Add 'zfs send --partial' flag

This commit adds the --partial (-S) to the 'zfs send' command.
This flag allows a user to send a partially received dataset,
which can be useful when migrating a backup server to new
hardware. This flag is compatible with resumable receives, so
even if the partial transfer is interrupted, it can be resumed.
The flag does not require any user / kernel ABI changes or any
new feature flags in the send stream format.

Signed-off-by: Tom Caputi <tcaputi@datto.com>

Pull-request: #9007 part 1/1
Matt Macy
Add FreeBSD support to ZoL

- Refactor tree in to os specific parts
- Import FreeBSD SPL
- update tests to work on FreeBSD

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

Pull-request: #8987 part 1/1
Matt Macy
put arc trace after arc_impl decls

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

Pull-request: #8987 part 4/4
  • Debian 8 ppc64 (BUILD): cloning zfs -  stdio
Matt Macy
Add space to empty log string to workaround broken gcc check

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

Pull-request: #8987 part 3/4
Matt Macy
restore somewhat haphazard ordering to
reduce diff with master
    Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #8987 part 2/4
  • Kernel.org Built-in x86_64 (BUILD): cloning zfs -  stdio
Matt Macy
Add FreeBSD support to ZoL

- Refactor tree in to os specific parts
- Import FreeBSD SPL
- update tests to work on FreeBSD

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

Pull-request: #8987 part 1/4
Matt Macy
put arc trace after arc_impl decls

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

Pull-request: #8987 part 4/4
Matt Macy
Add space to empty log string to workaround broken gcc check

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

Pull-request: #8987 part 3/4
Matt Macy
restore somewhat haphazard ordering to
reduce diff with master
    Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #8987 part 2/4
  • Kernel.org Built-in x86_64 (BUILD): cloning zfs -  stdio
Matt Macy
Add FreeBSD support to ZoL

- Refactor tree in to os specific parts
- Import FreeBSD SPL
- update tests to work on FreeBSD

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

Pull-request: #8987 part 1/4
Matt Macy
Add space to empty log string to workaround broken gcc check

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

Pull-request: #8987 part 3/3
Matt Macy
restore somewhat haphazard ordering to
reduce diff with master
    Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #8987 part 2/3
  • Kernel.org Built-in x86_64 (BUILD): cloning zfs -  stdio
Matt Macy
Add FreeBSD support to ZoL

- Refactor tree in to os specific parts
- Import FreeBSD SPL
- update tests to work on FreeBSD

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

Pull-request: #8987 part 1/3
Matt Macy
restore somewhat haphazard ordering to
reduce diff with master
    Signed-off-by: Matt Macy <mmacy@FreeBSD.org>

Pull-request: #8987 part 2/2
  • Kernel.org Built-in x86_64 (BUILD): cloning zfs -  stdio
Matt Macy
Add FreeBSD support to ZoL

- Refactor tree in to os specific parts
- Import FreeBSD SPL
- update tests to work on FreeBSD

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

Pull-request: #8987 part 1/1
Matt Macy
Don't expose FreeBSD changes to zfs_cmd to Linux

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

Pull-request: #8987 part 2/2
Matt Macy
Add FreeBSD support to ZoL

- Refactor tree in to os specific parts
- Import FreeBSD SPL
- update tests to work on FreeBSD

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

Pull-request: #8987 part 1/1