Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Oct 2020 23:09:24 +0000 (UTC)
From:      Matt Macy <mmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r366348 - in vendor-sys/openzfs/dist: . .github cmd/zfs config contrib/initramfs/scripts contrib/intel_qat contrib/intel_qat/patch include/os/freebsd/spl/sys include/os/linux/spl/sys in...
Message-ID:  <202010012309.091N9OJV073051@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mmacy
Date: Thu Oct  1 23:09:24 2020
New Revision: 366348
URL: https://svnweb.freebsd.org/changeset/base/366348

Log:
  Update OpenZFS to 2.0.0-rc3-gfc5966

Added:
  vendor-sys/openzfs/dist/.github/
  vendor-sys/openzfs/dist/.github/CONTRIBUTING.md
  vendor-sys/openzfs/dist/contrib/intel_qat/
  vendor-sys/openzfs/dist/contrib/intel_qat/patch/
  vendor-sys/openzfs/dist/contrib/intel_qat/patch/0001-cryptohash.diff
  vendor-sys/openzfs/dist/contrib/intel_qat/patch/0001-pci_aer.diff
  vendor-sys/openzfs/dist/contrib/intel_qat/patch/0001-timespec.diff
  vendor-sys/openzfs/dist/contrib/intel_qat/patch/LICENSE
  vendor-sys/openzfs/dist/contrib/intel_qat/readme.md
  vendor-sys/openzfs/dist/tests/zfs-tests/cmd/badsend/
  vendor-sys/openzfs/dist/tests/zfs-tests/cmd/badsend/.gitignore
  vendor-sys/openzfs/dist/tests/zfs-tests/cmd/badsend/Makefile.am   (contents, props changed)
  vendor-sys/openzfs/dist/tests/zfs-tests/cmd/badsend/badsend.c   (contents, props changed)
  vendor-sys/openzfs/dist/tests/zfs-tests/tests/functional/rsend/send_invalid.ksh
Modified:
  vendor-sys/openzfs/dist/cmd/zfs/zfs_main.c
  vendor-sys/openzfs/dist/config/kernel-config-defined.m4
  vendor-sys/openzfs/dist/config/kernel-objtool.m4
  vendor-sys/openzfs/dist/configure.ac
  vendor-sys/openzfs/dist/contrib/initramfs/scripts/zfs
  vendor-sys/openzfs/dist/include/os/freebsd/spl/sys/kstat.h
  vendor-sys/openzfs/dist/include/os/freebsd/spl/sys/procfs_list.h
  vendor-sys/openzfs/dist/include/os/freebsd/spl/sys/simd_x86.h
  vendor-sys/openzfs/dist/include/os/linux/spl/sys/procfs_list.h
  vendor-sys/openzfs/dist/include/sys/frame.h
  vendor-sys/openzfs/dist/include/sys/lua/luaconf.h
  vendor-sys/openzfs/dist/include/sys/zfs_context.h
  vendor-sys/openzfs/dist/include/sys/zstd/zstd.h
  vendor-sys/openzfs/dist/lib/libshare/os/freebsd/nfs.c
  vendor-sys/openzfs/dist/lib/libshare/os/linux/nfs.c
  vendor-sys/openzfs/dist/lib/libzpool/kernel.c
  vendor-sys/openzfs/dist/man/man8/zfs-userspace.8
  vendor-sys/openzfs/dist/man/man8/zpool-remove.8
  vendor-sys/openzfs/dist/module/lua/llimits.h
  vendor-sys/openzfs/dist/module/os/freebsd/spl/spl_kstat.c
  vendor-sys/openzfs/dist/module/os/freebsd/spl/spl_procfs_list.c
  vendor-sys/openzfs/dist/module/os/freebsd/spl/spl_taskq.c
  vendor-sys/openzfs/dist/module/os/freebsd/zfs/kmod_core.c
  vendor-sys/openzfs/dist/module/os/freebsd/zfs/sysctl_os.c
  vendor-sys/openzfs/dist/module/os/freebsd/zfs/zfs_ioctl_compat.c
  vendor-sys/openzfs/dist/module/os/freebsd/zfs/zfs_vfsops.c
  vendor-sys/openzfs/dist/module/os/freebsd/zfs/zio_crypt.c
  vendor-sys/openzfs/dist/module/os/linux/spl/spl-procfs-list.c
  vendor-sys/openzfs/dist/module/os/linux/zfs/vdev_disk.c
  vendor-sys/openzfs/dist/module/os/linux/zfs/zfs_debug.c
  vendor-sys/openzfs/dist/module/zfs/arc.c
  vendor-sys/openzfs/dist/module/zfs/dbuf_stats.c
  vendor-sys/openzfs/dist/module/zfs/dmu_send.c
  vendor-sys/openzfs/dist/module/zfs/dnode.c
  vendor-sys/openzfs/dist/module/zfs/dsl_crypt.c
  vendor-sys/openzfs/dist/module/zfs/spa_misc.c
  vendor-sys/openzfs/dist/module/zfs/spa_stats.c
  vendor-sys/openzfs/dist/module/zfs/zfs_log.c
  vendor-sys/openzfs/dist/module/zstd/zfs_zstd.c
  vendor-sys/openzfs/dist/tests/runfiles/common.run
  vendor-sys/openzfs/dist/tests/zfs-tests/cmd/Makefile.am
  vendor-sys/openzfs/dist/tests/zfs-tests/include/commands.cfg
  vendor-sys/openzfs/dist/tests/zfs-tests/tests/functional/rsend/Makefile.am

Added: vendor-sys/openzfs/dist/.github/CONTRIBUTING.md
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor-sys/openzfs/dist/.github/CONTRIBUTING.md	Thu Oct  1 23:09:24 2020	(r366348)
@@ -0,0 +1,345 @@
+# Contributing to OpenZFS
+<p align="center">
+  <img alt="OpenZFS Logo"
+    src="https://openzfs.github.io/openzfs-docs/_static/img/logo/480px-Open-ZFS-Secondary-Logo-Colour-halfsize.png"/>;
+</p>
+
+*First of all, thank you for taking the time to contribute!*
+
+By using the following guidelines, you can help us make OpenZFS even better.
+
+## Table Of Contents
+[What should I know before I get
+started?](#what-should-i-know-before-i-get-started)
+
+  * [Get ZFS](#get-zfs)
+  * [Debug ZFS](#debug-zfs)
+  * [Where can I ask for help?](#where-can-I-ask-for-help)
+
+[How Can I Contribute?](#how-can-i-contribute)
+
+  * [Reporting Bugs](#reporting-bugs)
+  * [Suggesting Enhancements](#suggesting-enhancements)
+  * [Pull Requests](#pull-requests)
+  * [Testing](#testing)
+
+[Style Guides](#style-guides)
+
+  * [Coding Conventions](#coding-conventions)
+  * [Commit Message Formats](#commit-message-formats)
+    * [New Changes](#new-changes)
+    * [OpenZFS Patch Ports](#openzfs-patch-ports)
+    * [Coverity Defect Fixes](#coverity-defect-fixes)
+    * [Signed Off By](#signed-off-by)
+
+Helpful resources
+
+  * [OpenZFS Documentation](https://openzfs.github.io/openzfs-docs/)
+  * [OpenZFS Developer Resources](http://open-zfs.org/wiki/Developer_resources)
+  * [Git and GitHub for beginners](https://openzfs.github.io/openzfs-docs/Developer%20Resources/Git%20and%20GitHub%20for%20beginners.html)
+
+## What should I know before I get started?
+
+### Get ZFS
+You can build zfs packages by following [these
+instructions](https://openzfs.github.io/openzfs-docs/Developer%20Resources/Building%20ZFS.html),
+or install stable packages from [your distribution's
+repository](https://openzfs.github.io/openzfs-docs/Getting%20Started/index.html).
+
+### Debug ZFS
+A variety of methods and tools are available to aid ZFS developers.
+It's strongly recommended that when developing a patch the `--enable-debug`
+configure option should be set. This will enable additional correctness
+checks and all the ASSERTs to help quickly catch potential issues.
+
+In addition, there are numerous utilities and debugging files which
+provide visibility into the inner workings of ZFS.  The most useful
+of these tools are discussed in detail on the [Troubleshooting
+page](https://openzfs.github.io/openzfs-docs/Basic%20Concepts/Troubleshooting.html).
+
+### Where can I ask for help?
+The [zfs-discuss mailing
+list](https://openzfs.github.io/openzfs-docs/Project%20and%20Community/Mailing%20Lists.html)
+or IRC are the best places to ask for help. Please do not file
+support requests on the GitHub issue tracker.
+
+## How Can I Contribute?
+
+### Reporting Bugs
+*Please* contact us via the [zfs-discuss mailing
+list](https://openzfs.github.io/openzfs-docs/Project%20and%20Community/Mailing%20Lists.html)
+or IRC if you aren't certain that you are experiencing a bug.
+
+If you run into an issue, please search our [issue
+tracker](https://github.com/openzfs/zfs/issues) *first* to ensure the
+issue hasn't been reported before. Open a new issue only if you haven't
+found anything similar to your issue.
+
+You can open a new issue and search existing issues using the public [issue
+tracker](https://github.com/openzfs/zfs/issues).
+
+#### When opening a new issue, please include the following information at the top of the issue:
+* What distribution (with version) you are using.
+* The spl and zfs versions you are using, installation method (repository
+or manual compilation).
+* Describe the issue you are experiencing.
+* Describe how to reproduce the issue.
+* Including any warning/errors/backtraces from the system logs.
+
+When a new issue is opened, it is not uncommon for developers to request
+additional information.
+
+In general, the more detail you share about a problem the quicker a
+developer can resolve it. For example, providing a simple test case is always
+exceptionally helpful.
+
+Be prepared to work with the developers investigating your issue. Your
+assistance is crucial in providing a quick solution. They may ask for
+information like:
+
+* Your pool configuration as reported by `zdb` or `zpool status`.
+* Your hardware configuration, such as
+  * Number of CPUs.
+  * Amount of memory.
+  * Whether your system has ECC memory.
+  * Whether it is running under a VMM/Hypervisor.
+  * Kernel version.
+  * Values of the spl/zfs module parameters.
+* Stack traces which may be logged to `dmesg`.
+
+### Suggesting Enhancements
+OpenZFS is a widely deployed production filesystem which is under active
+development. The team's primary focus is on fixing known issues, improving
+performance, and adding compelling new features.
+
+You can view the list of proposed features
+by filtering the issue tracker by the ["Type: Feature"
+label](https://github.com/openzfs/zfs/issues?q=is%3Aopen+is%3Aissue+label%3A%22Type%3A+Feature%22).
+If you have an idea for a feature first check this list. If your idea already
+appears then add a +1 to the top most comment, this helps us gauge interest
+in that feature.
+
+Otherwise, open a new issue and describe your proposed feature.  Why is this
+feature needed?  What problem does it solve?
+
+### Pull Requests
+
+#### General
+
+* All pull requests must be based on the current master branch and apply
+without conflicts.
+* Please attempt to limit pull requests to a single commit which resolves
+one specific issue.
+* Make sure your commit messages are in the correct format. See the
+[Commit Message Formats](#commit-message-formats) section for more information.
+* When updating a pull request squash multiple commits by performing a
+[rebase](https://git-scm.com/docs/git-rebase) (squash).
+* For large pull requests consider structuring your changes as a stack of
+logically independent patches which build on each other.  This makes large
+changes easier to review and approve which speeds up the merging process.
+* Try to keep pull requests simple. Simple code with comments is much easier
+to review and approve.
+* All proposed changes must be approved by an OpenZFS organization member.
+* If you have an idea you'd like to discuss or which requires additional testing, consider opening it as a draft pull request.
+Once everything is in good shape and the details have been worked out you can remove its draft status.
+Any required reviews can then be finalized and the pull request merged.
+
+#### Tests and Benchmarks
+* Every pull request will by tested by the buildbot on multiple platforms by running the [zfs-tests.sh and zloop.sh](
+https://openzfs.github.io/openzfs-docs/Developer%20Resources/Building%20ZFS.html#running-zloop-sh-and-zfs-tests-sh) test suites.
+* To verify your changes conform to the [style guidelines](
+https://github.com/openzfs/zfs/blob/master/.github/CONTRIBUTING.md#style-guides
+), please run `make checkstyle` and resolve any warnings.
+* Static code analysis of each pull request is performed by the buildbot; run `make lint` to check your changes.
+* Test cases should be provided when appropriate.
+This includes making sure new features have adequate code coverage.
+* If your pull request improves performance, please include some benchmarks.
+* The pull request must pass all required [ZFS
+Buildbot](http://build.zfsonlinux.org/) builders before
+being accepted. If you are experiencing intermittent TEST
+builder failures, you may be experiencing a [test suite
+issue](https://github.com/openzfs/zfs/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Test+Suite%22).
+There are also various [buildbot options](https://openzfs.github.io/openzfs-docs/Developer%20Resources/Buildbot%20Options.html)
+to control how changes are tested.
+
+### Testing
+All help is appreciated! If you're in a position to run the latest code
+consider helping us by reporting any functional problems, performance
+regressions or other suspected issues. By running the latest code to a wide
+range of realistic workloads, configurations and architectures we're better
+able quickly identify and resolve potential issues.
+
+Users can also run the [ZFS Test
+Suite](https://github.com/openzfs/zfs/tree/master/tests) on their systems
+to verify ZFS is behaving as intended.
+
+## Style Guides
+
+### Repository Structure
+
+OpenZFS uses a standardised branching structure.
+- The "development and main branch", is the branch all development should be based on.
+- "Release branches" contain the latest released code for said version.
+- "Staging branches" contain selected commits prior to being released.
+
+**Branch Names:**
+- Development and Main branch: `master`
+- Release branches: `zfs-$VERSION-release`
+- Staging branches: `zfs-$VERSION-staging`
+
+`$VERSION` should be replaced with the `major.minor` version number.  
+_(This is the version number without the `.patch` version at the end)_
+
+### Coding Conventions
+We currently use [C  Style  and  Coding  Standards  for
+SunOS](http://www.cis.upenn.edu/%7Elee/06cse480/data/cstyle.ms.pdf) as our
+coding convention.
+
+This repository has an `.editorconfig` file. If your editor [supports
+editorconfig](https://editorconfig.org/#download), it will
+automatically respect most of this project's whitespace preferences.
+
+Additionally, Git can help warn on whitespace problems as well:
+
+```
+git config --local core.whitespace trailing-space,space-before-tab,indent-with-non-tab,-tab-in-indent
+```
+
+### Commit Message Formats
+#### New Changes
+Commit messages for new changes must meet the following guidelines:
+* In 72 characters or less, provide a summary of the change as the
+first line in the commit message.
+* A body which provides a description of the change. If necessary,
+please summarize important information such as why the proposed
+approach was chosen or a brief description of the bug you are resolving.
+Each line of the body must be 72 characters or less.
+* The last line must be a `Signed-off-by:` tag. See the
+[Signed Off By](#signed-off-by) section for more information.
+
+An example commit message for new changes is provided below.
+
+```
+This line is a brief summary of your change
+
+Please provide at least a couple sentences describing the
+change. If necessary, please summarize decisions such as
+why the proposed approach was chosen or what bug you are
+attempting to solve.
+
+Signed-off-by: Contributor <contributor@email.com>
+```
+
+#### OpenZFS Patch Ports
+If you are porting OpenZFS patches, the commit message must meet
+the following guidelines:
+* The first line must be the summary line from the most important OpenZFS commit being ported.
+It must begin with `OpenZFS dddd, dddd - ` where `dddd` are OpenZFS issue numbers.
+* Provides a `Authored by:` line to attribute each patch for each original author.
+* Provides the `Reviewed by:` and `Approved by:` lines from each original
+OpenZFS commit.
+* Provides a `Ported-by:` line with the developer's name followed by
+their email for each OpenZFS commit.
+* Provides a `OpenZFS-issue:` line with link for each original illumos
+issue.
+* Provides a `OpenZFS-commit:` line with link for each original OpenZFS commit.
+* If necessary, provide some porting notes to describe any deviations from
+the original OpenZFS commits.
+
+An example OpenZFS patch port commit message for a single patch is provided
+below.
+```
+OpenZFS 1234 - Summary from the original OpenZFS commit
+
+Authored by: Original Author <original@email.com>
+Reviewed by: Reviewer One <reviewer1@email.com>
+Reviewed by: Reviewer Two <reviewer2@email.com>
+Approved by: Approver One <approver1@email.com>
+Ported-by: ZFS Contributor <contributor@email.com>
+
+Provide some porting notes here if necessary.
+
+OpenZFS-issue: https://www.illumos.org/issues/1234
+OpenZFS-commit: https://github.com/openzfs/openzfs/commit/abcd1234
+```
+
+If necessary, multiple OpenZFS patches can be combined in a single port.
+This is useful when you are porting a new patch and its subsequent bug
+fixes. An example commit message is provided below.
+```
+OpenZFS 1234, 5678 - Summary of most important OpenZFS commit
+
+1234 Summary from original OpenZFS commit for 1234
+
+Authored by: Original Author <original@email.com>
+Reviewed by: Reviewer Two <reviewer2@email.com>
+Approved by: Approver One <approver1@email.com>
+Ported-by: ZFS Contributor <contributor@email.com>
+
+Provide some porting notes here for 1234 if necessary.
+
+OpenZFS-issue: https://www.illumos.org/issues/1234
+OpenZFS-commit: https://github.com/openzfs/openzfs/commit/abcd1234
+
+5678 Summary from original OpenZFS commit for 5678
+
+Authored by: Original Author2 <original2@email.com>
+Reviewed by: Reviewer One <reviewer1@email.com>
+Approved by: Approver Two <approver2@email.com>
+Ported-by: ZFS Contributor <contributor@email.com>
+
+Provide some porting notes here for 5678 if necessary.
+
+OpenZFS-issue: https://www.illumos.org/issues/5678
+OpenZFS-commit: https://github.com/openzfs/openzfs/commit/efgh5678
+```
+
+#### Coverity Defect Fixes
+If you are submitting a fix to a
+[Coverity defect](https://scan.coverity.com/projects/zfsonlinux-zfs),
+the commit message should meet the following guidelines:
+* Provides a subject line in the format of
+`Fix coverity defects: CID dddd, dddd...` where `dddd` represents
+each CID fixed by the commit.
+* Provides a body which lists each Coverity defect and how it was corrected.
+* The last line must be a `Signed-off-by:` tag. See the
+[Signed Off By](#signed-off-by) section for more information.
+
+An example Coverity defect fix commit message is provided below.
+```
+Fix coverity defects: CID 12345, 67890
+
+CID 12345: Logically dead code (DEADCODE)
+
+Removed the if(var != 0) block because the condition could never be
+satisfied.
+
+CID 67890: Resource Leak (RESOURCE_LEAK)
+
+Ensure free is called after allocating memory in function().
+
+Signed-off-by: Contributor <contributor@email.com>
+```
+
+#### Signed Off By
+A line tagged as `Signed-off-by:` must contain the developer's
+name followed by their email. This is the developer's certification
+that they have the right to submit the patch for inclusion into
+the code base and indicates agreement to the [Developer's Certificate
+of Origin](https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin).
+Code without a proper signoff cannot be merged.
+
+Git can append the `Signed-off-by` line to your commit messages. Simply
+provide the `-s` or `--signoff` option when performing a `git commit`.
+For more information about writing commit messages, visit [How to Write
+a Git Commit Message](https://chris.beams.io/posts/git-commit/).
+
+#### Co-authored By
+If someone else had part in your pull request, please add the following to the commit:
+`Co-authored-by: Name <gitregistered@email.address>`
+This is useful if their authorship was lost during squashing, rebasing, etc.,
+but may be used in any situation where there are co-authors.
+
+The email address used here should be the same as on the GitHub profile of said user.
+If said user does not have their email address public, please use the following instead:
+`Co-authored-by: Name <[username]@users.noreply.github.com>`

Modified: vendor-sys/openzfs/dist/cmd/zfs/zfs_main.c
==============================================================================
--- vendor-sys/openzfs/dist/cmd/zfs/zfs_main.c	Thu Oct  1 22:20:29 2020	(r366347)
+++ vendor-sys/openzfs/dist/cmd/zfs/zfs_main.c	Thu Oct  1 23:09:24 2020	(r366348)
@@ -363,16 +363,16 @@ get_usage(zfs_help_t idx)
 		return (gettext("\tuserspace [-Hinp] [-o field[,...]] "
 		    "[-s field] ...\n"
 		    "\t    [-S field] ... [-t type[,...]] "
-		    "<filesystem|snapshot>\n"));
+		    "<filesystem|snapshot|path>\n"));
 	case HELP_GROUPSPACE:
 		return (gettext("\tgroupspace [-Hinp] [-o field[,...]] "
 		    "[-s field] ...\n"
 		    "\t    [-S field] ... [-t type[,...]] "
-		    "<filesystem|snapshot>\n"));
+		    "<filesystem|snapshot|path>\n"));
 	case HELP_PROJECTSPACE:
 		return (gettext("\tprojectspace [-Hp] [-o field[,...]] "
 		    "[-s field] ... \n"
-		    "\t    [-S field] ... <filesystem|snapshot>\n"));
+		    "\t    [-S field] ... <filesystem|snapshot|path>\n"));
 	case HELP_PROJECT:
 		return (gettext("\tproject [-d|-r] <directory|file ...>\n"
 		    "\tproject -c [-0] [-d|-r] [-p id] <directory|file ...>\n"
@@ -2481,11 +2481,13 @@ zfs_do_upgrade(int argc, char **argv)
 
 /*
  * zfs userspace [-Hinp] [-o field[,...]] [-s field [-s field]...]
- *               [-S field [-S field]...] [-t type[,...]] filesystem | snapshot
+ *               [-S field [-S field]...] [-t type[,...]]
+ *               filesystem | snapshot | path
  * zfs groupspace [-Hinp] [-o field[,...]] [-s field [-s field]...]
- *                [-S field [-S field]...] [-t type[,...]] filesystem | snapshot
+ *                [-S field [-S field]...] [-t type[,...]]
+ *                filesystem | snapshot | path
  * zfs projectspace [-Hp] [-o field[,...]] [-s field [-s field]...]
- *                [-S field [-S field]...] filesystem | snapshot
+ *                [-S field [-S field]...] filesystem | snapshot | path
  *
  *	-H      Scripted mode; elide headers and separate columns by tabs.
  *	-i	Translate SID to POSIX ID.
@@ -3191,7 +3193,7 @@ zfs_do_userspace(int argc, char **argv)
 		} while (delim != NULL);
 	}
 
-	if ((zhp = zfs_open(g_zfs, argv[0], ZFS_TYPE_FILESYSTEM |
+	if ((zhp = zfs_path_to_zhandle(g_zfs, argv[0], ZFS_TYPE_FILESYSTEM |
 	    ZFS_TYPE_SNAPSHOT)) == NULL)
 		return (1);
 	if (zhp->zfs_head_type != ZFS_TYPE_FILESYSTEM) {

Modified: vendor-sys/openzfs/dist/config/kernel-config-defined.m4
==============================================================================
--- vendor-sys/openzfs/dist/config/kernel-config-defined.m4	Thu Oct  1 22:20:29 2020	(r366347)
+++ vendor-sys/openzfs/dist/config/kernel-config-defined.m4	Thu Oct  1 23:09:24 2020	(r366348)
@@ -91,7 +91,7 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_CONFIG_DEBUG_LOCK_ALLOC], 
 
 AC_DEFUN([ZFS_AC_KERNEL_CONFIG_DEBUG_LOCK_ALLOC], [
 	AC_MSG_CHECKING([whether mutex_lock() is GPL-only])
-	ZFS_LINUX_TEST_RESULT([config_debug_lock_alloc], [
+	ZFS_LINUX_TEST_RESULT([config_debug_lock_alloc_license], [
 		AC_MSG_RESULT(no)
 	],[
 		AC_MSG_RESULT(yes)

Modified: vendor-sys/openzfs/dist/config/kernel-objtool.m4
==============================================================================
--- vendor-sys/openzfs/dist/config/kernel-objtool.m4	Thu Oct  1 22:20:29 2020	(r366347)
+++ vendor-sys/openzfs/dist/config/kernel-objtool.m4	Thu Oct  1 23:09:24 2020	(r366348)
@@ -6,10 +6,11 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_OBJTOOL], [
 	dnl # 4.6 API for compile-time stack validation
 	ZFS_LINUX_TEST_SRC([objtool], [
 		#undef __ASSEMBLY__
+		#include <asm/ptrace.h>
 		#include <asm/frame.h>
 	],[
 		#if !defined(FRAME_BEGIN)
-		CTASSERT(1);
+		#error "FRAME_BEGIN is not defined"
 		#endif
 	])
 
@@ -18,7 +19,7 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_OBJTOOL], [
 		#include <linux/frame.h>
 	],[
 		#if !defined(STACK_FRAME_NON_STANDARD)
-		CTASSERT(1);
+		#error "STACK_FRAME_NON_STANDARD is not defined."
 		#endif
 	])
 ])

Modified: vendor-sys/openzfs/dist/configure.ac
==============================================================================
--- vendor-sys/openzfs/dist/configure.ac	Thu Oct  1 22:20:29 2020	(r366347)
+++ vendor-sys/openzfs/dist/configure.ac	Thu Oct  1 23:09:24 2020	(r366348)
@@ -204,6 +204,7 @@ AC_CONFIG_FILES([
 	tests/zfs-tests/Makefile
 	tests/zfs-tests/callbacks/Makefile
 	tests/zfs-tests/cmd/Makefile
+	tests/zfs-tests/cmd/badsend/Makefile
 	tests/zfs-tests/cmd/btree_test/Makefile
 	tests/zfs-tests/cmd/chg_usr_exec/Makefile
 	tests/zfs-tests/cmd/devname2devid/Makefile

Modified: vendor-sys/openzfs/dist/contrib/initramfs/scripts/zfs
==============================================================================
--- vendor-sys/openzfs/dist/contrib/initramfs/scripts/zfs	Thu Oct  1 22:20:29 2020	(r366347)
+++ vendor-sys/openzfs/dist/contrib/initramfs/scripts/zfs	Thu Oct  1 23:09:24 2020	(r366348)
@@ -15,8 +15,8 @@
 # See "4.5 Disable root prompt on the initramfs" of Securing Debian Manual:
 # https://www.debian.org/doc/manuals/securing-debian-howto/ch4.en.html
 shell() {
-	if type panic > /dev/null 2>&1; then
-		panic $@
+	if command -v panic > /dev/null 2>&1; then
+		panic
 	else
 		/bin/sh
 	fi
@@ -26,22 +26,23 @@ shell() {
 # pools and mounting any filesystems.
 pre_mountroot()
 {
-	if type run_scripts > /dev/null 2>&1 && \
-	    [ -f "/scripts/local-top" -o -d "/scripts/local-top" ]
+	if command -v run_scripts > /dev/null 2>&1
 	then
-		[ "$quiet" != "y" ] && \
-		    zfs_log_begin_msg "Running /scripts/local-top"
-		run_scripts /scripts/local-top
-		[ "$quiet" != "y" ] && zfs_log_end_msg
-	fi
+		if [ -f "/scripts/local-top" ] || [ -d "/scripts/local-top" ]
+		then
+			[ "$quiet" != "y" ] && \
+			    zfs_log_begin_msg "Running /scripts/local-top"
+			run_scripts /scripts/local-top
+			[ "$quiet" != "y" ] && zfs_log_end_msg
+		fi
 
-	if type run_scripts > /dev/null 2>&1 && \
-	    [ -f "/scripts/local-premount" -o -d "/scripts/local-premount" ]
-	then
-		[ "$quiet" != "y" ] && \
-		    zfs_log_begin_msg "Running /scripts/local-premount"
-		run_scripts /scripts/local-premount
-		[ "$quiet" != "y" ] && zfs_log_end_msg
+	  if [ -f "/scripts/local-premount" ] || [ -d "/scripts/local-premount" ]
+	  then
+			[ "$quiet" != "y" ] && \
+			    zfs_log_begin_msg "Running /scripts/local-premount"
+			run_scripts /scripts/local-premount
+			[ "$quiet" != "y" ] && zfs_log_end_msg
+		fi
 	fi
 }
 
@@ -57,10 +58,10 @@ disable_plymouth()
 # Get a ZFS filesystem property value.
 get_fs_value()
 {
-	local fs="$1"
-	local value=$2
+	fs="$1"
+	value=$2
 
-	"${ZFS}" get -H -ovalue $value "$fs" 2> /dev/null
+	"${ZFS}" get -H -ovalue "$value" "$fs" 2> /dev/null
 }
 
 # Find the 'bootfs' property on pool $1.
@@ -68,7 +69,7 @@ get_fs_value()
 # pool by exporting it again.
 find_rootfs()
 {
-	local pool="$1"
+	pool="$1"
 
 	# If 'POOL_IMPORTED' isn't set, no pool imported and therefore
 	# we won't be able to find a root fs.
@@ -84,7 +85,7 @@ find_rootfs()
 
 	# Make sure it's not '-' and that it starts with /.
 	if [ "${ZFS_BOOTFS}" != "-" ] && \
-		$(get_fs_value "${ZFS_BOOTFS}" mountpoint | grep -q '^/$')
+		get_fs_value "${ZFS_BOOTFS}" mountpoint | grep -q '^/$'
 	then
 		# Keep it mounted
 		POOL_IMPORTED=1
@@ -101,14 +102,13 @@ find_rootfs()
 # Support function to get a list of all pools, separated with ';'
 find_pools()
 {
-	local CMD="$*"
-	local pools pool
+	CMD="$*"
 
 	pools=$($CMD 2> /dev/null | \
 		grep -E "pool:|^[a-zA-Z0-9]" | \
 		sed 's@.*: @@' | \
-		while read pool; do \
-		    echo -n "$pool;"
+		while read -r pool; do \
+		    printf "%s" "$pool;"
 		done)
 
 	echo "${pools%%;}" # Return without the last ';'.
@@ -117,8 +117,6 @@ find_pools()
 # Get a list of all available pools
 get_pools()
 {
-	local available_pools npools
-
 	if [ -n "${ZFS_POOL_IMPORT}" ]; then
 		echo "$ZFS_POOL_IMPORT"
 		return 0
@@ -159,9 +157,8 @@ get_pools()
 	# Filter out any exceptions...
 	if [ -n "$ZFS_POOL_EXCEPTIONS" ]
 	then
-		local found=""
-		local apools=""
-		local pool exception
+		found=""
+		apools=""
 		OLD_IFS="$IFS" ; IFS=";"
 
 		for pool in $available_pools
@@ -194,8 +191,7 @@ get_pools()
 # Import given pool $1
 import_pool()
 {
-	local pool="$1"
-	local dirs dir
+	pool="$1"
 
 	# Verify that the pool isn't already imported
 	# Make as sure as we can to not require '-f' to import.
@@ -205,7 +201,7 @@ import_pool()
 	# to something we can use later with the real import(s). We want to
 	# make sure we find all by* dirs, BUT by-vdev should be first (if it
 	# exists).
-	if [ -n "$USE_DISK_BY_ID" -a -z "$ZPOOL_IMPORT_PATH" ]
+	if [ -n "$USE_DISK_BY_ID" ] && [ -z "$ZPOOL_IMPORT_PATH" ]
 	then
 		dirs="$(for dir in $(echo /dev/disk/by-*)
 		do
@@ -213,7 +209,7 @@ import_pool()
 			echo "$dir" | grep -q /by-vdev && continue
 			[ ! -d "$dir" ] && continue
 
-			echo -n "$dir:"
+			printf "%s" "$dir:"
 		done | sed 's,:$,,g')"
 
 		if [ -d "/dev/disk/by-vdev" ]
@@ -277,7 +273,7 @@ import_pool()
 # with more logging etc.
 load_module_initrd()
 {
-	if [ "$ZFS_INITRD_PRE_MOUNTROOT_SLEEP" > 0 ]
+	if [ "$ZFS_INITRD_PRE_MOUNTROOT_SLEEP" -gt 0 ] 2>/dev/null
 	then
 		if [ "$quiet" != "y" ]; then
 			zfs_log_begin_msg "Sleeping for" \
@@ -288,9 +284,9 @@ load_module_initrd()
 	fi
 
 	# Wait for all of the /dev/{hd,sd}[a-z] device nodes to appear.
-	if type wait_for_udev > /dev/null 2>&1 ; then
+	if command -v wait_for_udev > /dev/null 2>&1 ; then
 		wait_for_udev 10
-	elif type wait_for_dev > /dev/null 2>&1 ; then
+	elif command -v wait_for_dev > /dev/null 2>&1 ; then
 		wait_for_dev
 	fi
 
@@ -300,7 +296,7 @@ load_module_initrd()
 	# Load the module
 	load_module "zfs" || return 1
 
-	if [ "$ZFS_INITRD_POST_MODPROBE_SLEEP" > 0 ]
+	if [ "$ZFS_INITRD_POST_MODPROBE_SLEEP" -gt 0 ] 2>/dev/null
 	then
 		if [ "$quiet" != "y" ]; then
 			zfs_log_begin_msg "Sleeping for" \
@@ -316,12 +312,10 @@ load_module_initrd()
 # Mount a given filesystem
 mount_fs()
 {
-	local fs="$1"
-	local mountpoint
+	fs="$1"
 
 	# Check that the filesystem exists
-	"${ZFS}" list -oname -tfilesystem -H "${fs}" > /dev/null 2>&1
-	[ "$?" -ne 0 ] && return 1
+	"${ZFS}" list -oname -tfilesystem -H "${fs}" > /dev/null 2>&1 ||  return 1
 
 	# Skip filesystems with canmount=off.  The root fs should not have
 	# canmount=off, but ignore it for backwards compatibility just in case.
@@ -333,14 +327,14 @@ mount_fs()
 
 	# Need the _original_ datasets mountpoint!
 	mountpoint=$(get_fs_value "$fs" mountpoint)
-	if [ "$mountpoint" = "legacy" -o "$mountpoint" = "none" ]; then
+	if [ "$mountpoint" = "legacy" ] || [ "$mountpoint" = "none" ]; then
 		# Can't use the mountpoint property. Might be one of our
 		# clones. Check the 'org.zol:mountpoint' property set in
 		# clone_snap() if that's usable.
 		mountpoint=$(get_fs_value "$fs" org.zol:mountpoint)
-		if [ "$mountpoint" = "legacy" -o \
-		    "$mountpoint" = "none" -o \
-		    "$mountpoint" = "-" ]
+		if [ "$mountpoint" = "legacy" ] ||
+		   [ "$mountpoint" = "none" ] ||
+		   [ "$mountpoint" = "-" ]
 		then
 			if [ "$fs" != "${ZFS_BOOTFS}" ]; then
 				# We don't have a proper mountpoint and this
@@ -396,10 +390,10 @@ mount_fs()
 # Unlock a ZFS native encrypted filesystem.
 decrypt_fs()
 {
-	local fs="$1"
-	
+	fs="$1"
+
 	# If pool encryption is active and the zfs command understands '-o encryption'
-	if [ "$(zpool list -H -o feature@encryption $(echo "${fs}" | awk -F\/ '{print $1}'))" = 'active' ]; then
+	if [ "$(zpool list -H -o feature@encryption "$(echo "${fs}" | awk -F/ '{print $1}')")" = 'active' ]; then
 
 		# Determine dataset that holds key for root dataset
 		ENCRYPTIONROOT="$(get_fs_value "${fs}" encryptionroot)"
@@ -427,7 +421,7 @@ decrypt_fs()
 					TRY_COUNT=$((TRY_COUNT - 1))
 				done
 
-			# Prompt with systemd, if active 
+			# Prompt with systemd, if active
 			elif [ -e /run/systemd/system ]; then
 				echo "systemd-ask-password" > /run/zfs_console_askpwd_cmd
 				while [ $TRY_COUNT -gt 0 ]; do
@@ -454,7 +448,7 @@ decrypt_fs()
 # Destroy a given filesystem.
 destroy_fs()
 {
-	local fs="$1"
+	fs="$1"
 
 	[ "$quiet" != "y" ] && \
 	    zfs_log_begin_msg "Destroying '$fs'"
@@ -489,9 +483,9 @@ destroy_fs()
 # mounted with a 'zfs mount -a' in the init/systemd scripts).
 clone_snap()
 {
-	local snap="$1"
-	local destfs="$2"
-	local mountpoint="$3"
+	snap="$1"
+	destfs="$2"
+	mountpoint="$3"
 
 	[ "$quiet" != "y" ] && zfs_log_begin_msg "Cloning '$snap' to '$destfs'"
 
@@ -529,7 +523,7 @@ clone_snap()
 # Rollback a given snapshot.
 rollback_snap()
 {
-	local snap="$1"
+	snap="$1"
 
 	[ "$quiet" != "y" ] && zfs_log_begin_msg "Rollback $snap"
 
@@ -559,9 +553,8 @@ rollback_snap()
 # to the user to choose from.
 ask_user_snap()
 {
-	local fs="$1"
-	local i=1
-	local SNAP snapnr snap debug
+	fs="$1"
+	i=1
 
 	# We need to temporarily disable debugging. Set 'debug' so we
 	# remember to enabled it again.
@@ -574,16 +567,16 @@ ask_user_snap()
 	# Because we need the resulting snapshot, which is sent on
 	# stdout to the caller, we use stderr for our questions.
 	echo "What snapshot do you want to boot from?" > /dev/stderr
-	while read snap; do
+	while read -r snap; do
 	    echo "  $i: ${snap}" > /dev/stderr
-	    eval `echo SNAP_$i=$snap`
+	    eval "$(echo SNAP_$i=$snap)"
 	    i=$((i + 1))
 	done <<EOT
 $("${ZFS}" list -H -oname -tsnapshot -r "${fs}")
 EOT
 
-	echo -n "  Snap nr [1-$((i-1))]? " > /dev/stderr
-	read snapnr
+	echo "%s" "  Snap nr [1-$((i-1))]? " > /dev/stderr
+	read -r snapnr
 
 	# Re-enable debugging.
 	if [ -n "${debug}" ]; then
@@ -591,16 +584,16 @@ EOT
 		set -x
 	fi
 
-	echo "$(eval echo "$"SNAP_$snapnr)"
+	echo "$(eval echo '$SNAP_'$snapnr)"
 }
 
 setup_snapshot_booting()
 {
-	local snap="$1"
-	local s destfs subfs mountpoint retval=0 filesystems fs
+	snap="$1"
+	retval=0
 
-	# Make sure that the snapshot specified actually exist.
-	if [ ! $(get_fs_value "${snap}" type) ]
+	# Make sure that the snapshot specified actually exists.
+	if [ ! "$(get_fs_value "${snap}" type)" ]
 	then
 		# Snapshot does not exist (...@<null> ?)
 		# ask the user for a snapshot to use.
@@ -617,7 +610,7 @@ setup_snapshot_booting()
 	then
 		# If the destination dataset for the clone
 		# already exists, destroy it. Recursively
-		if [ $(get_fs_value "${rootfs}_${snapname}" type) ]; then
+		if [ "$(get_fs_value "${rootfs}_${snapname}" type)" ]; then
 			filesystems=$("${ZFS}" list -oname -tfilesystem -H \
 			    -r -Sname "${ZFS_BOOTFS}")
 			for fs in $filesystems; do
@@ -652,8 +645,8 @@ setup_snapshot_booting()
 			# with clone_snap(). If legacy or none, then use
 			# the sub fs value.
 			mountpoint=$(get_fs_value "${s%%@*}" mountpoint)
-			if [ "$mountpoint" = "legacy" -o \
-			    "$mountpoint" = "none" ]
+			if [ "$mountpoint" = "legacy" ] || \
+			   [ "$mountpoint" = "none" ]
 			then
 				if [ -n "${subfs}" ]; then
 					mountpoint="${subfs}"
@@ -678,8 +671,6 @@ setup_snapshot_booting()
 # This is the main function.
 mountroot()
 {
-	local snaporig snapsub destfs pool POOLS
-
 	# ----------------------------------------------------------------
 	# I N I T I A L   S E T U P
 
@@ -742,7 +733,7 @@ mountroot()
 	# No longer set in the defaults file, but it could have been set in
 	# get_pools() in some circumstances. If it's something, but not 'yes',
 	# it's no good to us.
-	[ -n "$USE_DISK_BY_ID" -a "$USE_DISK_BY_ID" != 'yes' ] && \
+	[ -n "$USE_DISK_BY_ID" ] && [ "$USE_DISK_BY_ID" != 'yes' ] && \
 	    unset USE_DISK_BY_ID
 
 	# ----------------------------------------------------------------
@@ -788,12 +779,12 @@ mountroot()
 	# ------------
 	# If we have 'ROOT' (see above), but not 'ZFS_BOOTFS', then use
 	# 'ROOT'
-	[ -n "$ROOT" -a -z "${ZFS_BOOTFS}" ] && ZFS_BOOTFS="$ROOT"
+	[ -n "$ROOT" ] && [ -z "${ZFS_BOOTFS}" ] && ZFS_BOOTFS="$ROOT"
 
 	# ------------
 	# Check for the `-B zfs-bootfs=%s/%u,...` kind of parameter.
 	# NOTE: Only use the pool name and dataset. The rest is not
-	#       supported by ZoL (whatever it's for).
+	#       supported by OpenZFS (whatever it's for).
 	if [ -z "$ZFS_RPOOL" ]
 	then
 		# The ${zfs-bootfs} variable is set at the kernel command
@@ -809,11 +800,11 @@ mountroot()
 
 	# ------------
 	# No root fs or pool specified - do auto detect.
-	if [ -z "$ZFS_RPOOL" -a -z "${ZFS_BOOTFS}" ]
+	if [ -z "$ZFS_RPOOL" ] && [ -z "${ZFS_BOOTFS}" ]
 	then
 		# Do auto detect. Do this by 'cheating' - set 'root=zfs:AUTO'
 		# which will be caught later
-		ROOT=zfs:AUTO
+		ROOT='zfs:AUTO'
 	fi
 
 	# ----------------------------------------------------------------
@@ -858,7 +849,7 @@ mountroot()
 	fi
 
 	# Import the pool (if not already done so in the AUTO check above).
-	if [ -n "$ZFS_RPOOL" -a -z "${POOL_IMPORTED}" ]
+	if [ -n "$ZFS_RPOOL" ] && [ -z "${POOL_IMPORTED}" ]
 	then
 		[ "$quiet" != "y" ] && \
 		    zfs_log_begin_msg "Importing ZFS root pool '$ZFS_RPOOL'"
@@ -971,7 +962,7 @@ mountroot()
 
 	touch /run/zfs_unlock_complete
 	if [ -e /run/zfs_unlock_complete_notify ]; then
-		read zfs_unlock_complete_notify < /run/zfs_unlock_complete_notify
+		read -r zfs_unlock_complete_notify < /run/zfs_unlock_complete_notify
 	fi
 
 	# ------------
@@ -989,8 +980,8 @@ mountroot()
 		echo
 
 		echo "=> waiting for ENTER before continuing because of 'zfsdebug=1'. "
-		echo -n "   'c' for shell, 'r' for reboot, 'ENTER' to continue. "
-		read b
+		printf "%s" "   'c' for shell, 'r' for reboot, 'ENTER' to continue. "
+		read -r b
 
 		[ "$b" = "c" ] && /bin/sh
 		[ "$b" = "r" ] && reboot -f
@@ -1000,12 +991,14 @@ mountroot()
 
 	# ------------
 	# Run local bottom script
-	if type run_scripts > /dev/null 2>&1 && \
-	    [ -f "/scripts/local-bottom" -o -d "/scripts/local-bottom" ]
+	if command -v run_scripts > /dev/null 2>&1
 	then
-		[ "$quiet" != "y" ] && \
-		    zfs_log_begin_msg "Running /scripts/local-bottom"
-		run_scripts /scripts/local-bottom
-		[ "$quiet" != "y" ] && zfs_log_end_msg
+		if [ -f "/scripts/local-bottom" ] || [ -d "/scripts/local-bottom" ]
+		then
+			[ "$quiet" != "y" ] && \
+			    zfs_log_begin_msg "Running /scripts/local-bottom"
+			run_scripts /scripts/local-bottom
+			[ "$quiet" != "y" ] && zfs_log_end_msg
+		fi
 	fi
 }

Added: vendor-sys/openzfs/dist/contrib/intel_qat/patch/0001-cryptohash.diff
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor-sys/openzfs/dist/contrib/intel_qat/patch/0001-cryptohash.diff	Thu Oct  1 23:09:24 2020	(r366348)
@@ -0,0 +1,17 @@
+cryptohash.h was dropped and merged with crypto/sha.sh in 5.8 kernel. Details in:
+https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=228c4f265c6eb60eaa4ed0edb3bf7c113173576c
+
+---
+diff --git a/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c b/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c
+index 4c389da..e602377 100644
+--- a/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c
++++ b/quickassist/utilities/osal/src/linux/kernel_space/OsalCryptoInterface.c
+@@ -66,7 +66,7 @@
+ 
+ #include "Osal.h"
+ #include <linux/crypto.h>
+-#include <linux/cryptohash.h>
++#include <crypto/sha.h>
+ #include <linux/version.h>
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
+ #include <crypto/internal/hash.h>

Added: vendor-sys/openzfs/dist/contrib/intel_qat/patch/0001-pci_aer.diff
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor-sys/openzfs/dist/contrib/intel_qat/patch/0001-pci_aer.diff	Thu Oct  1 23:09:24 2020	(r366348)
@@ -0,0 +1,20 @@
+In kernel 5.7 the pci_cleanup_aer_uncorrect_error_status() function was
+renamed with the following commit:
+
+git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=894020fdd88c1e9a74c60b67c0f19f1c7696ba2f
+
+This simply updates the function call with the proper name (pci_aer_clear_nonfatal_status()).
+
+---
+diff --git a/quickassist/qat/drivers/crypto/qat/qat_common/adf_aer.c b/quickassist/qat/drivers/crypto/qat/qat_common/adf_aer.c
+index a6ce6df..545bb79 100644
+--- a/quickassist/qat/drivers/crypto/qat/qat_common/adf_aer.c
++++ b/quickassist/qat/drivers/crypto/qat/qat_common/adf_aer.c
+@@ -304,7 +304,7 @@ static pci_ers_result_t adf_slot_reset(struct pci_dev *pdev)
+ 		pr_err("QAT: Can't find acceleration device\n");
+ 		return PCI_ERS_RESULT_DISCONNECT;
+ 	}
+-	pci_cleanup_aer_uncorrect_error_status(pdev);
++	pci_aer_clear_nonfatal_status(pdev);
+ 	if (adf_dev_aer_schedule_reset(accel_dev, ADF_DEV_RESET_SYNC))
+ 		return PCI_ERS_RESULT_DISCONNECT;

Added: vendor-sys/openzfs/dist/contrib/intel_qat/patch/0001-timespec.diff
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor-sys/openzfs/dist/contrib/intel_qat/patch/0001-timespec.diff	Thu Oct  1 23:09:24 2020	(r366348)
@@ -0,0 +1,35 @@
+This patch attempts to expose timespec and getnstimeofday which were
+explicitly hidden in the 5.6 kernel with the introduction of the
+following commits:
+
+git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c766d1472c70d25ad475cf56042af1652e792b23
+git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=412c53a680a97cb1ae2c0ab60230e193bee86387
+
+Code received from users@dpdk.org, issue tracked under QATE-59888.
+
+---
+diff --git a/quickassist/lookaside/access_layer/src/sample_code/performance/framework/linux/kernel_space/cpa_sample_code_utils.c b/quickassist/lookaside/access_layer/src/sample_code/performance/framework/linux/kernel_space/cpa_sample_code_utils.c
+index 4639834..523e376 100644
+--- a/quickassist/lookaside/access_layer/src/sample_code/performance/framework/linux/kernel_space/cpa_sample_code_utils.c
++++ b/quickassist/lookaside/access_layer/src/sample_code/performance/framework/linux/kernel_space/cpa_sample_code_utils.c
+@@ -107,6 +107,8 @@ atomic_t arrived;
+ extern struct device perf_device;
+ #endif
+ 
++#define timespec timespec64
++#define getnstimeofday ktime_get_real_ts64
+ 
+ /* Define a number for timeout */
+ #define SAMPLE_CODE_MAX_LONG (0x7FFFFFFF)
+diff --git a/quickassist/qat/compat/qat_compat.h b/quickassist/qat/compat/qat_compat.h
+index 2a02eaf..3515092 100644
+--- a/quickassist/qat/compat/qat_compat.h
++++ b/quickassist/qat/compat/qat_compat.h
+@@ -466,4 +466,7 @@ static inline void pci_ignore_hotplug(struct pci_dev *dev)
+ #if (RHEL_RELEASE_CODE && RHEL_RELEASE_VERSION(7, 3) <= RHEL_RELEASE_CODE)
+ #define QAT_KPT_CAP_DISCOVERY
+ #endif
++
++#define timespec timespec64
++#define getnstimeofday ktime_get_real_ts64
+ #endif /* _QAT_COMPAT_H_ */

Added: vendor-sys/openzfs/dist/contrib/intel_qat/patch/LICENSE
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor-sys/openzfs/dist/contrib/intel_qat/patch/LICENSE	Thu Oct  1 23:09:24 2020	(r366348)
@@ -0,0 +1,30 @@
+BSD LICENSE
+
+Copyright (c) Intel Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+  * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Added: vendor-sys/openzfs/dist/contrib/intel_qat/readme.md
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor-sys/openzfs/dist/contrib/intel_qat/readme.md	Thu Oct  1 23:09:24 2020	(r366348)
@@ -0,0 +1,27 @@
+# Intel_QAT easy install script
+

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202010012309.091N9OJV073051>