git: f941f0a06298 - stable/13 - zfs: merge openzfs/zfs at 71c609852 (zfs-2.1-release) into stable/13

Martin Matuska mm at FreeBSD.org
Sat Sep 18 21:33:00 UTC 2021


The branch stable/13 has been updated by mm:

URL: https://cgit.FreeBSD.org/src/commit/?id=f941f0a062982f77faaf326752c80ed69201cff4

commit f941f0a062982f77faaf326752c80ed69201cff4
Merge: ec47ee78b461 71c6098526c6
Author:     Martin Matuska <mm at FreeBSD.org>
AuthorDate: 2021-09-18 18:30:40 +0000
Commit:     Martin Matuska <mm at FreeBSD.org>
CommitDate: 2021-09-18 18:44:14 +0000

    zfs: merge openzfs/zfs at 71c609852 (zfs-2.1-release) into stable/13
    
    OpenZFS release 2.1.1
    
    Notable upstream pull request merges:
      #11997 FreeBSD: Don't force xattr mount option
      #11997 FreeBSD: Implement xattr=sa
      #11997 FreeBSD: Use SET_ERROR to trace xattr name errors
      #12022 Fix endianness issues with zstd
      #12161 Restore FreeBSD sysctl processing for arc.min and arc.max
      #12183 Optimize small random numbers generation
      #12246 arc: Drop an incorrect assert
      #12271 Tinker with slop space accounting with dedup
      #12279 Fix ARC ghost states eviction accounting
      #12281 Move gethrtime() calls out of vdev queue lock
      #12289 Compact dbuf/buf hashes and lock arrays
      #12294 Upstream: dmu_zfetch_stream_fini leaks refcount
      #12295 Fix abd leak, kmem_free correct size of abd_t
      #12297 Avoid vq_lock drop in vdev_queue_aggregate()
      #12299 file reference counts can get corrupted
      #12300 Introduce dsl_dir_diduse_transfer_space()
      #12314 Optimize allocation throttling
      #12320 FreeBSD: Use unmapped I/O for scattered/gang ABD buffers
      #12328 FreeBSD: Hardcode abd_chunk_size to PAGE_SIZE
      #12339 Read past end of argv array in zpool_do_import()
      #12348 Minor ARC optimizations
      #12365 Fixes in persistent L2ARC
      #12375 FreeBSD: Ignore make_dev_s() errors
      #12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+
      #12383 Fixes for KMSAN reports
      #12397 Run arc_evict thread at higher priority
      #12398 Remove b_pabd/b_rabd allocation from arc_hdr_alloc()
      #12422 Fix/improve dbuf hits accounting
      #12428 Fix unfortunate NULL in spa_update_dspace
      #12443 Fixed data integrity issue when underlying disk returns error
      #12446 Allow disabling of unmapped I/O on FreeBSD
      #12473 Initialize parity blocks before RAID-Z reconstruction benchmarking
      #12511 Make 'zpool labelclear -f' work on offlined disks
      #12514 FreeBSD: Don't remove SA xattr if not SA znode
      #12522 Compressed receive with different ashift can result in incorrect
             PSIZE on disk
      #12535 Verify embedded blkptr's in arc_read()
      #12541 Allow sending corrupt snapshots even if metadata is corrupted
    
    Manually included upstream 2.1 backport pull request #12573:
      #12282 FreeBSD: fix compilation of FreeBSD world after 29274c9
    
    Obtained from:  OpenZFS
    OpenZFS commit: 71c6098526c6d5fbfa84a58cefe6cdc403488d8c
    OpenZFS tag:    zfs-2.1.1
    Relnotes:       yes

 .../openzfs/.github/ISSUE_TEMPLATE/bug_report.md   |    16 +-
 .../openzfs/.github/workflows/checkstyle.yaml      |    18 +-
 sys/contrib/openzfs/.github/workflows/zloop.yml    |     2 +-
 sys/contrib/openzfs/META                           |     4 +-
 sys/contrib/openzfs/Makefile.am                    |    14 +-
 sys/contrib/openzfs/cmd/vdev_id/vdev_id            |     5 +-
 sys/contrib/openzfs/cmd/zdb/zdb.c                  |     6 +-
 sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c       |    40 +-
 sys/contrib/openzfs/cmd/zed/zed_disk_event.c       |     2 +
 sys/contrib/openzfs/cmd/zfs/zfs_main.c             |     2 +-
 sys/contrib/openzfs/cmd/zpool/zpool.d/media        |     9 +-
 sys/contrib/openzfs/cmd/zpool/zpool_main.c         |    50 +-
 .../openzfs/cmd/zpool_influxdb/zpool_influxdb.c    |     3 +-
 sys/contrib/openzfs/cmd/zvol_id/zvol_id_main.c     |    58 +-
 sys/contrib/openzfs/config/Abigail.am              |     6 +-
 sys/contrib/openzfs/config/kernel-acl.m4           |    23 +-
 sys/contrib/openzfs/config/kernel-blk-queue.m4     |    40 +
 sys/contrib/openzfs/config/kernel-blkdev.m4        |     2 +-
 .../openzfs/config/kernel-make-request-fn.m4       |    20 +
 sys/contrib/openzfs/config/kernel-stdarg.m4        |    32 +
 .../openzfs/config/kernel-vfs-set_page_dirty.m4    |    34 +
 sys/contrib/openzfs/config/kernel.m4               |     4 +
 sys/contrib/openzfs/config/user-libatomic.m4       |    34 +-
 sys/contrib/openzfs/configure.ac                   |     1 +
 .../openzfs/include/os/freebsd/spl/sys/mod_os.h    |     6 +
 .../openzfs/include/os/freebsd/spl/sys/random.h    |    22 +
 .../include/os/linux/kernel/linux/blkdev_compat.h  |     3 +
 .../openzfs/include/os/linux/spl/sys/cmn_err.h     |     4 +
 .../openzfs/include/os/linux/spl/sys/random.h      |    15 +
 .../openzfs/include/os/linux/zfs/sys/trace_arc.h   |     4 +-
 .../include/os/linux/zfs/sys/zfs_znode_impl.h      |     4 +-
 sys/contrib/openzfs/include/os/linux/zfs/sys/zpl.h |     4 +
 sys/contrib/openzfs/include/sys/abd.h              |     1 -
 sys/contrib/openzfs/include/sys/abd_impl.h         |     2 +-
 sys/contrib/openzfs/include/sys/arc.h              |     9 +-
 sys/contrib/openzfs/include/sys/arc_impl.h         |    26 +-
 sys/contrib/openzfs/include/sys/dbuf.h             |     6 +-
 sys/contrib/openzfs/include/sys/dnode.h            |     2 +-
 sys/contrib/openzfs/include/sys/dsl_dir.h          |     3 +
 sys/contrib/openzfs/include/sys/fm/util.h          |     5 +-
 sys/contrib/openzfs/include/sys/metaslab_impl.h    |     2 +-
 sys/contrib/openzfs/include/sys/spa.h              |     1 -
 sys/contrib/openzfs/include/sys/spa_impl.h         |    15 +-
 sys/contrib/openzfs/include/sys/zfs_context.h      |    15 +
 sys/contrib/openzfs/include/sys/zfs_file.h         |     6 +-
 sys/contrib/openzfs/include/sys/zfs_ioctl.h        |     2 +-
 sys/contrib/openzfs/include/sys/zfs_onexit.h       |     4 +-
 sys/contrib/openzfs/include/sys/zfs_refcount.h     |     8 +-
 sys/contrib/openzfs/include/sys/zio.h              |     4 +-
 sys/contrib/openzfs/include/sys/zstd/zstd.h        |   148 +-
 sys/contrib/openzfs/include/sys/zthr.h             |     5 +-
 sys/contrib/openzfs/lib/libnvpair/libnvpair.abi    |  4832 ++++----
 sys/contrib/openzfs/lib/libuutil/libuutil.abi      |  3351 +++--
 sys/contrib/openzfs/lib/libzfs/libzfs.abi          | 12225 +++++++++++--------
 sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c     |     2 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_pool.c       |     4 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c   |     3 +-
 .../openzfs/lib/libzfs_core/libzfs_core.abi        |  6159 +++++++---
 .../openzfs/lib/libzfsbootenv/libzfsbootenv.abi    |   596 +-
 sys/contrib/openzfs/lib/libzpool/kernel.c          |    20 +-
 sys/contrib/openzfs/man/man4/zfs.4                 |    26 +-
 sys/contrib/openzfs/man/man8/zfs-allow.8           |    28 +-
 sys/contrib/openzfs/man/man8/zfs-send.8            |    10 +-
 sys/contrib/openzfs/man/man8/zpool-remove.8        |     8 +-
 sys/contrib/openzfs/man/man8/zpool-scrub.8         |    29 +-
 sys/contrib/openzfs/module/nvpair/nvpair.c         |    64 +-
 .../openzfs/module/os/freebsd/spl/acl_common.c     |     6 +-
 sys/contrib/openzfs/module/os/freebsd/spl/callb.c  |    16 +-
 sys/contrib/openzfs/module/os/freebsd/spl/list.c   |    17 +-
 .../openzfs/module/os/freebsd/spl/spl_kmem.c       |     6 +-
 .../openzfs/module/os/freebsd/spl/spl_kstat.c      |    10 +-
 .../openzfs/module/os/freebsd/spl/spl_string.c     |     2 +-
 .../openzfs/module/os/freebsd/spl/spl_sysevent.c   |     2 +-
 .../openzfs/module/os/freebsd/spl/spl_uio.c        |     4 +-
 .../openzfs/module/os/freebsd/spl/spl_vfs.c        |     6 +-
 sys/contrib/openzfs/module/os/freebsd/zfs/abd_os.c |   137 +-
 sys/contrib/openzfs/module/os/freebsd/zfs/arc_os.c |     4 +-
 sys/contrib/openzfs/module/os/freebsd/zfs/dmu_os.c |    45 +-
 sys/contrib/openzfs/module/os/freebsd/zfs/spa_os.c |    83 +-
 .../openzfs/module/os/freebsd/zfs/sysctl_os.c      |    53 +-
 .../openzfs/module/os/freebsd/zfs/vdev_file.c      |     7 +-
 .../openzfs/module/os/freebsd/zfs/vdev_geom.c      |   151 +-
 .../openzfs/module/os/freebsd/zfs/vdev_label_os.c  |     2 +-
 .../openzfs/module/os/freebsd/zfs/zfs_acl.c        |    37 +-
 .../openzfs/module/os/freebsd/zfs/zfs_ctldir.c     |    22 +-
 .../openzfs/module/os/freebsd/zfs/zfs_dir.c        |    23 +-
 .../openzfs/module/os/freebsd/zfs/zfs_file_os.c    |    19 +-
 .../openzfs/module/os/freebsd/zfs/zfs_vfsops.c     |    34 +-
 .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c   |   558 +-
 .../openzfs/module/os/freebsd/zfs/zfs_znode.c      |    98 +-
 .../openzfs/module/os/freebsd/zfs/zio_crypt.c      |     2 +-
 .../openzfs/module/os/freebsd/zfs/zvol_os.c        |    37 +-
 sys/contrib/openzfs/module/os/linux/zfs/abd_os.c   |     3 +-
 sys/contrib/openzfs/module/os/linux/zfs/arc_os.c   |    18 +-
 .../openzfs/module/os/linux/zfs/qat_compress.c     |    27 +-
 .../openzfs/module/os/linux/zfs/zfs_file_os.c      |    28 +-
 .../openzfs/module/os/linux/zfs/zfs_vnops_os.c     |     8 +-
 .../openzfs/module/os/linux/zfs/zfs_znode.c        |    12 +-
 sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c |    25 +-
 .../openzfs/module/os/linux/zfs/zpl_inode.c        |    34 +-
 .../openzfs/module/os/linux/zfs/zpl_xattr.c        |    34 +-
 sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c  |    44 +-
 sys/contrib/openzfs/module/zfs/abd.c               |     2 +-
 sys/contrib/openzfs/module/zfs/arc.c               |   603 +-
 sys/contrib/openzfs/module/zfs/dbuf.c              |     6 +-
 sys/contrib/openzfs/module/zfs/ddt.c               |     2 +-
 sys/contrib/openzfs/module/zfs/dmu_redact.c        |     2 +
 sys/contrib/openzfs/module/zfs/dmu_send.c          |     2 +
 sys/contrib/openzfs/module/zfs/dmu_zfetch.c        |     2 +
 sys/contrib/openzfs/module/zfs/dnode.c             |     1 +
 sys/contrib/openzfs/module/zfs/dsl_dataset.c       |    10 +-
 sys/contrib/openzfs/module/zfs/dsl_dir.c           |   112 +-
 sys/contrib/openzfs/module/zfs/fm.c                |    20 +-
 sys/contrib/openzfs/module/zfs/metaslab.c          |    29 +-
 sys/contrib/openzfs/module/zfs/mmp.c               |     4 +-
 sys/contrib/openzfs/module/zfs/multilist.c         |     5 +-
 sys/contrib/openzfs/module/zfs/refcount.c          |    51 +-
 sys/contrib/openzfs/module/zfs/spa.c               |    27 +-
 sys/contrib/openzfs/module/zfs/spa_misc.c          |    78 +-
 sys/contrib/openzfs/module/zfs/space_map.c         |     2 +-
 sys/contrib/openzfs/module/zfs/vdev_indirect.c     |     6 +-
 sys/contrib/openzfs/module/zfs/vdev_mirror.c       |     2 +-
 sys/contrib/openzfs/module/zfs/vdev_queue.c        |    74 +-
 sys/contrib/openzfs/module/zfs/vdev_raidz_math.c   |     7 +
 sys/contrib/openzfs/module/zfs/zcp_synctask.c      |    15 +-
 sys/contrib/openzfs/module/zfs/zfs_ioctl.c         |    71 +-
 sys/contrib/openzfs/module/zfs/zfs_log.c           |     4 +-
 sys/contrib/openzfs/module/zfs/zfs_onexit.c        |    23 +-
 sys/contrib/openzfs/module/zfs/zil.c               |    60 +-
 sys/contrib/openzfs/module/zfs/zio.c               |    65 +-
 sys/contrib/openzfs/module/zfs/zio_compress.c      |     2 +-
 sys/contrib/openzfs/module/zfs/zio_inject.c        |     8 +-
 sys/contrib/openzfs/module/zfs/zthr.c              |    19 +-
 sys/contrib/openzfs/module/zfs/zvol.c              |    15 +-
 sys/contrib/openzfs/module/zstd/Makefile.in        |     1 +
 .../openzfs/module/zstd/include/sparc_compat.h     |     4 +
 sys/contrib/openzfs/module/zstd/zfs_zstd.c         |    14 +-
 sys/contrib/openzfs/module/zstd/zstd_sparc.c       |    11 +
 sys/contrib/openzfs/scripts/zfs-tests.sh           |    27 +-
 sys/contrib/openzfs/scripts/zfs.sh                 |    12 +-
 sys/contrib/openzfs/scripts/zloop.sh               |    60 +-
 sys/contrib/openzfs/tests/Makefile.am              |     2 +-
 sys/contrib/openzfs/tests/runfiles/common.run      |     7 +-
 sys/contrib/openzfs/tests/runfiles/linux.run       |     9 +-
 .../openzfs/tests/test-runner/bin/zts-report.py.in |    17 +-
 .../openzfs/tests/zfs-tests/include/blkdev.shlib   |     2 +-
 .../openzfs/tests/zfs-tests/include/libtest.shlib  |    28 +
 .../openzfs/tests/zfs-tests/include/tunables.cfg   |     2 +-
 .../tests/zfs-tests/tests/functional/Makefile.am   |     1 +
 .../cli_root/zfs_copies/zfs_copies.kshlib          |     7 +-
 .../cli_root/zfs_diff/zfs_diff_timestamp.ksh       |     6 +-
 .../cli_root/zfs_rename/zfs_rename_006_pos.ksh     |     2 +-
 .../cli_root/zfs_rename/zfs_rename_007_pos.ksh     |     8 +-
 .../cli_root/zpool_import/zpool_import_errata3.ksh |     4 +-
 .../zfs-tests/tests/functional/crtime/Makefile.am  |     5 +
 .../zfs-tests/tests/functional/crtime/cleanup.ksh  |    34 +
 .../tests/functional/crtime/crtime_001_pos.ksh     |    71 +
 .../zfs-tests/tests/functional/crtime/setup.ksh    |    35 +
 .../zfs-tests/tests/functional/fault/Makefile.am   |     1 +
 .../tests/functional/fault/auto_online_002_pos.ksh |    94 +
 .../zfs-tests/tests/functional/l2arc/Makefile.am   |     5 +-
 .../tests/functional/l2arc/l2arc_arcstats_pos.ksh  |     1 -
 .../functional/l2arc/persist_l2arc_004_pos.ksh     |    55 +-
 .../functional/l2arc/persist_l2arc_005_pos.ksh     |    69 +-
 .../functional/l2arc/persist_l2arc_006_pos.ksh     |   101 -
 .../functional/l2arc/persist_l2arc_007_pos.ksh     |    97 -
 .../functional/l2arc/persist_l2arc_008_pos.ksh     |   143 -
 .../functional/redacted_send/redacted_panic.ksh    |    10 +-
 .../functional/rsend/recv_dedup_encrypted_zvol.ksh |     2 +-
 .../rsend/send-c_stream_size_estimate.ksh          |     2 +-
 .../zvol/zvol_misc/zvol_misc_volmode.ksh           |     2 +
 .../zvol/zvol_swap/zvol_swap_004_pos.ksh           |     2 +-
 .../openzfs/tests/zfs-tests/tests/perf/perf.shlib  |    61 +-
 .../tests/perf/regression/random_reads.ksh         |    30 +-
 .../tests/perf/regression/random_readwrite.ksh     |    30 +-
 .../perf/regression/random_readwrite_fixed.ksh     |    30 +-
 .../tests/perf/regression/random_writes.ksh        |    30 +-
 .../tests/perf/regression/random_writes_zil.ksh    |    31 +-
 .../tests/perf/regression/sequential_reads.ksh     |    30 +-
 .../regression/sequential_reads_arc_cached.ksh     |    30 +-
 .../sequential_reads_arc_cached_clone.ksh          |    31 +-
 .../regression/sequential_reads_dbuf_cached.ksh    |    32 +-
 .../tests/perf/regression/sequential_writes.ksh    |    30 +-
 .../zfs-tests/tests/perf/regression/setup.ksh      |     3 +-
 sys/contrib/openzfs/udev/rules.d/60-zvol.rules.in  |     2 +-
 sys/modules/zfs/Makefile                           |     3 +-
 sys/modules/zfs/zfs_config.h                       |    50 +-
 sys/modules/zfs/zfs_gitrev.h                       |     2 +-
 188 files changed, 19722 insertions(+), 12707 deletions(-)

diff --cc sys/contrib/openzfs/config/kernel-stdarg.m4
index 000000000000,5bc8dd859d6b..5bc8dd859d6b
mode 000000,100644..100644
--- a/sys/contrib/openzfs/config/kernel-stdarg.m4
+++ b/sys/contrib/openzfs/config/kernel-stdarg.m4
diff --cc sys/contrib/openzfs/config/kernel-vfs-set_page_dirty.m4
index 000000000000,a9d252e4e01e..a9d252e4e01e
mode 000000,100644..100644
--- a/sys/contrib/openzfs/config/kernel-vfs-set_page_dirty.m4
+++ b/sys/contrib/openzfs/config/kernel-vfs-set_page_dirty.m4
diff --cc sys/contrib/openzfs/include/os/freebsd/spl/sys/random.h
index b3c9115f5305,000000000000..7583166e727b
mode 100644,000000..100644
--- a/sys/contrib/openzfs/include/os/freebsd/spl/sys/random.h
+++ b/sys/contrib/openzfs/include/os/freebsd/spl/sys/random.h
@@@ -1,48 -1,0 +1,70 @@@
 +/*
 + * Copyright (c) 2007 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 + * All rights reserved.
 + *
 + * Redistribution and use in source and binary forms, with or without
 + * modification, are permitted provided that the following conditions
 + * are met:
 + * 1. Redistributions of source code must retain the above copyright
 + *    notice, this list of conditions and the following disclaimer.
 + * 2. 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.
 + *
 + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS 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 AUTHORS 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.
 + *
 + * $FreeBSD$
 + */
 +
 +#ifndef _OPENSOLARIS_SYS_RANDOM_H_
 +#define	_OPENSOLARIS_SYS_RANDOM_H_
 +
 +#include_next <sys/random.h>
++#if  __FreeBSD_version >= 1300108
++#include <sys/prng.h>
++#endif
 +
 +static inline int
 +random_get_bytes(uint8_t *p, size_t s)
 +{
 +	arc4rand(p, (int)s, 0);
 +	return (0);
 +}
 +
 +static inline int
 +random_get_pseudo_bytes(uint8_t *p, size_t s)
 +{
 +	arc4rand(p, (int)s, 0);
 +	return (0);
 +}
 +
++static inline uint32_t
++random_in_range(uint32_t range)
++{
++#if defined(_KERNEL) && __FreeBSD_version >= 1300108
++	return (prng32_bounded(range));
++#else
++	uint32_t r;
++
++	ASSERT(range != 0);
++
++	if (range == 1)
++		return (0);
++
++	(void) random_get_pseudo_bytes((uint8_t *)&r, sizeof (r));
++
++	return (r % range);
++#endif
++}
++
 +#endif	/* !_OPENSOLARIS_SYS_RANDOM_H_ */
diff --cc sys/contrib/openzfs/include/os/linux/spl/sys/random.h
index 1b8cb60d094f,000000000000..52e97e1ce068
mode 100644,000000..100644
--- a/sys/contrib/openzfs/include/os/linux/spl/sys/random.h
+++ b/sys/contrib/openzfs/include/os/linux/spl/sys/random.h
@@@ -1,39 -1,0 +1,54 @@@
 +/*
 + *  Copyright (C) 2007-2010 Lawrence Livermore National Security, LLC.
 + *  Copyright (C) 2007 The Regents of the University of California.
 + *  Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
 + *  Written by Brian Behlendorf <behlendorf1 at llnl.gov>.
 + *  UCRL-CODE-235197
 + *
 + *  This file is part of the SPL, Solaris Porting Layer.
 + *
 + *  The SPL is free software; you can redistribute it and/or modify it
 + *  under the terms of the GNU General Public License as published by the
 + *  Free Software Foundation; either version 2 of the License, or (at your
 + *  option) any later version.
 + *
 + *  The SPL is distributed in the hope that it will be useful, but WITHOUT
 + *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 + *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 + *  for more details.
 + *
 + *  You should have received a copy of the GNU General Public License along
 + *  with the SPL.  If not, see <http://www.gnu.org/licenses/>.
 + */
 +
 +#ifndef _SPL_RANDOM_H
 +#define	_SPL_RANDOM_H
 +
 +#include <linux/module.h>
 +#include <linux/random.h>
 +
 +static __inline__ int
 +random_get_bytes(uint8_t *ptr, size_t len)
 +{
 +	get_random_bytes((void *)ptr, (int)len);
 +	return (0);
 +}
 +
 +extern int random_get_pseudo_bytes(uint8_t *ptr, size_t len);
 +
++static __inline__ uint32_t
++random_in_range(uint32_t range)
++{
++	uint32_t r;
++
++	ASSERT(range != 0);
++
++	if (range == 1)
++		return (0);
++
++	(void) random_get_pseudo_bytes((uint8_t *)&r, sizeof (r));
++
++	return (r % range);
++}
++
 +#endif	/* _SPL_RANDOM_H */
diff --cc sys/contrib/openzfs/include/sys/zfs_context.h
index ffb20e1fefad,dbeb323ba428..e430d17a5f9b
--- a/sys/contrib/openzfs/include/sys/zfs_context.h
+++ b/sys/contrib/openzfs/include/sys/zfs_context.h
@@@ -640,6 -640,21 +640,21 @@@ extern int lowbit64(uint64_t i)
  extern int random_get_bytes(uint8_t *ptr, size_t len);
  extern int random_get_pseudo_bytes(uint8_t *ptr, size_t len);
  
+ static __inline__ uint32_t
+ random_in_range(uint32_t range)
+ {
+ 	uint32_t r;
+ 
+ 	ASSERT(range != 0);
+ 
+ 	if (range == 1)
+ 		return (0);
+ 
 -	(void) random_get_pseudo_bytes((void *)&r, sizeof (r));
++	(void) random_get_pseudo_bytes((uint8_t *)&r, sizeof (r));
+ 
+ 	return (r % range);
+ }
+ 
  extern void kernel_init(int mode);
  extern void kernel_fini(void);
  extern void random_init(void);
diff --cc sys/contrib/openzfs/module/zstd/include/sparc_compat.h
index 000000000000,14c1bdde917c..14c1bdde917c
mode 000000,100644..100644
--- a/sys/contrib/openzfs/module/zstd/include/sparc_compat.h
+++ b/sys/contrib/openzfs/module/zstd/include/sparc_compat.h
diff --cc sys/contrib/openzfs/module/zstd/zstd_sparc.c
index 000000000000,463df99bd7e3..463df99bd7e3
mode 000000,100644..100644
--- a/sys/contrib/openzfs/module/zstd/zstd_sparc.c
+++ b/sys/contrib/openzfs/module/zstd/zstd_sparc.c
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/crtime/Makefile.am
index 000000000000,13e1c2dde31b..13e1c2dde31b
mode 000000,100644..100644
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/crtime/Makefile.am
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/crtime/Makefile.am
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/crtime/cleanup.ksh
index 000000000000,3166bd6ec16e..3166bd6ec16e
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/crtime/cleanup.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/crtime/cleanup.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/crtime/crtime_001_pos.ksh
index 000000000000,4f9810553fa6..4f9810553fa6
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/crtime/crtime_001_pos.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/crtime/crtime_001_pos.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/crtime/setup.ksh
index 000000000000,fc5cec3063a6..fc5cec3063a6
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/crtime/setup.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/crtime/setup.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/fault/auto_online_002_pos.ksh
index 000000000000,60185ace34bb..60185ace34bb
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/fault/auto_online_002_pos.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/fault/auto_online_002_pos.ksh
diff --cc sys/modules/zfs/Makefile
index 983f0aa0e994,000000000000..d185fdf259a5
mode 100644,000000..100644
--- a/sys/modules/zfs/Makefile
+++ b/sys/modules/zfs/Makefile
@@@ -1,340 -1,0 +1,341 @@@
 +# $FreeBSD$
 +
 +SRCDIR=${SRCTOP}/sys/contrib/openzfs/module
 +INCDIR=${SRCTOP}/sys/contrib/openzfs/include
 +
 +KMOD=	zfs
 +
 +.PATH:	${SRCDIR}/avl \
 +	${SRCDIR}/lua \
 +	${SRCDIR}/nvpair \
 +	${SRCDIR}/os/freebsd/spl \
 +	${SRCDIR}/os/freebsd/zfs \
 +	${SRCDIR}/unicode \
 +	${SRCDIR}/zcommon \
 +	${SRCDIR}/zfs	\
 +	${SRCDIR}/zstd	\
 +	${SRCDIR}/zstd/lib
 +
 +
 +CFLAGS+= -I${INCDIR}
 +CFLAGS+= -I${INCDIR}/os/freebsd
 +CFLAGS+= -I${INCDIR}/os/freebsd/spl
 +CFLAGS+= -I${INCDIR}/os/freebsd/zfs
 +CFLAGS+= -I${SRCDIR}/zstd/include
 +CFLAGS+= -I${.CURDIR}
 +
 +CFLAGS+= -D__KERNEL__ -DFREEBSD_NAMECACHE -DBUILDING_ZFS \
 +	-DHAVE_UIO_ZEROCOPY -DWITHOUT_NETDUMP -D__KERNEL -D_SYS_CONDVAR_H_ \
 +	-D_SYS_VMEM_H_ -DIN_FREEBSD_BASE -DHAVE_KSID
 +
 +.if ${MACHINE_ARCH} == "amd64"
 +CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_SSE2 -DHAVE_AVX512F -DHAVE_AVX512BW -DHAVE_SSSE3
 +.endif
 +
 +.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \
 +	${MACHINE_ARCH} == "powerpcspe" || ${MACHINE_ARCH} == "arm"
 +CFLAGS+= -DBITS_PER_LONG=32
 +.else
 +CFLAGS+= -DBITS_PER_LONG=64
 +.endif
 +
 +SRCS=	vnode_if.h device_if.h bus_if.h
 +
 +# avl
 +SRCS+=	avl.c
 +
 +#lua
 +SRCS+=	lapi.c \
 +	lauxlib.c \
 +	lbaselib.c \
 +	lcode.c \
 +	lcompat.c \
 +	lcorolib.c \
 +	lctype.c \
 +	ldebug.c \
 +	ldo.c \
 +	lfunc.c \
 +	lgc.c \
 +	llex.c \
 +	lmem.c \
 +	lobject.c \
 +	lopcodes.c \
 +	lparser.c \
 +	lstate.c \
 +	lstring.c \
 +	lstrlib.c \
 +	ltable.c \
 +	ltablib.c \
 +	ltm.c \
 +	lvm.c \
 +	lzio.c
 +
 +#nvpair
 +SRCS+=	nvpair.c \
 +	fnvpair.c \
 +	nvpair_alloc_spl.c \
 +	nvpair_alloc_fixed.c
 +
 +#os/freebsd/spl
 +SRCS+=	acl_common.c \
 +	btree.c \
 +	callb.c \
 +	list.c \
 +	spl_acl.c \
 +	spl_cmn_err.c \
 +	spl_dtrace.c \
 +	spl_kmem.c \
 +	spl_kstat.c \
 +	spl_misc.c \
 +	spl_policy.c \
 +	spl_string.c \
 +	spl_sunddi.c \
 +	spl_sysevent.c \
 +	spl_taskq.c \
 +	spl_uio.c \
 +	spl_vfs.c \
 +	spl_vm.c \
 +	spl_zone.c \
 +	sha256c.c \
 +	sha512c.c \
 +	spl_procfs_list.c \
 +	spl_zlib.c
 +
 +
 +.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \
 +	${MACHINE_ARCH} == "powerpcspe" || ${MACHINE_ARCH} == "arm"
 +SRCS+= spl_atomic.c
 +.endif
 +
 +#os/freebsd/zfs
 +SRCS+=	abd_os.c \
 +	crypto_os.c \
 +	dmu_os.c \
 +	hkdf.c \
 +	kmod_core.c \
 +	spa_os.c \
 +	sysctl_os.c \
 +	vdev_file.c \
 +	vdev_label_os.c \
 +	vdev_geom.c \
 +	zfs_acl.c \
 +	zfs_ctldir.c \
 +	zfs_dir.c \
 +	zfs_ioctl_compat.c \
 +	zfs_ioctl_os.c \
 +	zfs_log.c \
 +	zfs_racct.c \
 +	zfs_replay.c \
 +	zfs_vfsops.c \
 +	zfs_vnops_os.c \
 +	zfs_znode.c \
 +	zio_crypt.c \
 +	zvol_os.c
 +
 +#unicode
 +SRCS+=	uconv.c \
 +	u8_textprep.c
 +
 +#zcommon
 +SRCS+=	zfeature_common.c \
 +	zfs_comutil.c \
 +	zfs_deleg.c \
 +	zfs_fletcher.c \
 +	zfs_fletcher_avx512.c \
 +	zfs_fletcher_intel.c \
 +	zfs_fletcher_sse.c \
 +	zfs_fletcher_superscalar.c \
 +	zfs_fletcher_superscalar4.c \
 +	zfs_namecheck.c \
 +	zfs_prop.c \
 +	zpool_prop.c \
 +	zprop_common.c
 +
 +#zfs
 +SRCS+=	abd.c \
 +	aggsum.c \
 +	arc.c \
 +	arc_os.c \
 +	blkptr.c \
 +	bplist.c \
 +	bpobj.c \
 +	cityhash.c \
 +	dbuf.c \
 +	dbuf_stats.c \
 +	bptree.c \
 +	bqueue.c \
 +	dataset_kstats.c \
 +	ddt.c \
 +	ddt_zap.c \
 +	dmu.c \
 +	dmu_diff.c \
 +	dmu_object.c \
 +	dmu_objset.c \
 +	dmu_recv.c \
 +	dmu_redact.c \
 +	dmu_send.c \
 +	dmu_traverse.c \
 +	dmu_tx.c \
 +	dmu_zfetch.c \
 +	dnode.c \
 +	dnode_sync.c \
 +	dsl_dataset.c \
 +	dsl_deadlist.c \
 +	dsl_deleg.c \
 +	dsl_bookmark.c \
 +	dsl_dir.c \
 +	dsl_crypt.c \
 +	dsl_destroy.c \
 +	dsl_pool.c \
 +	dsl_prop.c \
 +	dsl_scan.c \
 +	dsl_synctask.c \
 +	dsl_userhold.c \
 +	fm.c \
 +	gzip.c \
 +	lzjb.c \
 +	lz4.c \
 +	metaslab.c \
 +	mmp.c \
 +	multilist.c \
 +	objlist.c \
 +	pathname.c \
 +	range_tree.c \
 +	refcount.c \
 +	rrwlock.c \
 +	sa.c \
 +	sha256.c \
 +	skein_zfs.c \
 +	spa.c \
 +	spa_boot.c \
 +	spa_checkpoint.c \
 +	spa_config.c \
 +	spa_errlog.c \
 +	spa_history.c \
 +	spa_log_spacemap.c \
 +	spa_misc.c \
 +	spa_stats.c \
 +	space_map.c \
 +	space_reftree.c \
 +	txg.c \
 +	uberblock.c \
 +	unique.c \
 +	vdev.c \
 +	vdev_cache.c \
 +	vdev_draid.c \
 +	vdev_draid_rand.c \
 +	vdev_indirect.c \
 +	vdev_indirect_births.c \
 +	vdev_indirect_mapping.c \
 +	vdev_initialize.c \
 +	vdev_label.c \
 +	vdev_mirror.c \
 +	vdev_missing.c \
 +	vdev_queue.c \
 +	vdev_raidz.c \
 +	vdev_raidz_math.c \
 +	vdev_raidz_math_scalar.c \
 +	vdev_raidz_math_avx2.c \
 +	vdev_raidz_math_avx512bw.c \
 +	vdev_raidz_math_avx512f.c \
 +	vdev_raidz_math_sse2.c \
 +	vdev_raidz_math_ssse3.c \
 +	vdev_rebuild.c \
 +	vdev_removal.c \
 +	vdev_root.c \
 +	vdev_trim.c \
 +	zap.c \
 +	zap_leaf.c \
 +	zap_micro.c \
 +	zcp.c \
 +	zcp_get.c \
 +	zcp_global.c \
 +	zcp_iter.c \
 +	zcp_set.c \
 +	zcp_synctask.c \
 +	zfeature.c \
 +	zfs_byteswap.c \
 +	zfs_debug.c \
 +	zfs_file_os.c \
 +	zfs_fm.c \
 +	zfs_fuid.c \
 +	zfs_ioctl.c \
 +	zfs_onexit.c \
 +	zfs_quota.c \
 +	zfs_ratelimit.c \
 +	zfs_rlock.c \
 +	zfs_sa.c \
 +	zfs_vnops.c \
 +	zil.c \
 +	zio.c \
 +	zio_checksum.c \
 +	zio_compress.c \
 +	zio_inject.c \
 +	zle.c \
 +	zrlock.c \
 +	zthr.c \
 +	zvol.c
 +
 +SRCS+=	zfs_zstd.c \
- 	zstd.c
++	zstd.c \
++	zstd_sparc.c
 +
 +.include <bsd.kmod.mk>
 +
 +CFLAGS+= -include ${SRCTOP}/sys/cddl/compat/opensolaris/sys/debug_compat.h
 +CFLAGS+= -include ${INCDIR}/os/freebsd/spl/sys/ccompile.h
 +CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/static_ccompile.h
 +
 +CWARNFLAGS+=	${OPENZFS_CWARNFLAGS}
 +
 +CFLAGS.gcc+= -Wno-pointer-to-int-cast
 +
 +CFLAGS.lapi.c= -Wno-cast-qual
 +CFLAGS.lcompat.c= -Wno-cast-qual
 +CFLAGS.lobject.c= -Wno-cast-qual
 +CFLAGS.ltable.c= -Wno-cast-qual
 +CFLAGS.lvm.c= -Wno-cast-qual
 +CFLAGS.nvpair.c= -Wno-cast-qual -DHAVE_RPC_TYPES
 +CFLAGS.spl_string.c= -Wno-cast-qual
 +CFLAGS.spl_vm.c= -Wno-cast-qual
 +CFLAGS.spl_zlib.c= -Wno-cast-qual
 +CFLAGS.abd.c= -Wno-cast-qual
 +CFLAGS.zfs_log.c= -Wno-cast-qual
 +CFLAGS.zfs_vnops_os.c= -Wno-pointer-arith
 +CFLAGS.u8_textprep.c= -Wno-cast-qual
 +CFLAGS.zfs_fletcher.c= -Wno-cast-qual -Wno-pointer-arith
 +CFLAGS.zfs_fletcher_intel.c= -Wno-cast-qual -Wno-pointer-arith
 +CFLAGS.zfs_fletcher_sse.c= -Wno-cast-qual -Wno-pointer-arith
 +CFLAGS.zfs_fletcher_avx512.c= -Wno-cast-qual -Wno-pointer-arith
 +CFLAGS.zprop_common.c= -Wno-cast-qual
 +CFLAGS.ddt.c= -Wno-cast-qual
 +CFLAGS.dmu.c= -Wno-cast-qual
 +CFLAGS.dmu_traverse.c= -Wno-cast-qual
 +CFLAGS.dsl_dir.c= -Wno-cast-qual
 +CFLAGS.dsl_deadlist.c= -Wno-cast-qual
 +CFLAGS.dsl_prop.c= -Wno-cast-qual
 +CFLAGS.fm.c= -Wno-cast-qual
 +CFLAGS.lz4.c= -Wno-cast-qual
 +CFLAGS.spa.c= -Wno-cast-qual
 +CFLAGS.spa_misc.c= -Wno-cast-qual
 +CFLAGS.sysctl_os.c= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
 +CFLAGS.vdev_draid.c= -Wno-cast-qual
 +CFLAGS.vdev_raidz.c= -Wno-cast-qual
 +CFLAGS.vdev_raidz_math.c= -Wno-cast-qual
 +CFLAGS.vdev_raidz_math_scalar.c= -Wno-cast-qual
 +CFLAGS.vdev_raidz_math_avx2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier
 +CFLAGS.vdev_raidz_math_avx512f.c= -Wno-cast-qual -Wno-duplicate-decl-specifier
 +CFLAGS.vdev_raidz_math_sse2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier
 +CFLAGS.zap_leaf.c= -Wno-cast-qual
 +CFLAGS.zap_micro.c= -Wno-cast-qual
 +CFLAGS.zcp.c= -Wno-cast-qual
 +CFLAGS.zfs_fm.c= -Wno-cast-qual
 +CFLAGS.zfs_ioctl.c= -Wno-cast-qual
 +CFLAGS.zil.c= -Wno-cast-qual
 +CFLAGS.zio.c= -Wno-cast-qual
 +CFLAGS.zrlock.c= -Wno-cast-qual
 +CFLAGS.zfs_zstd.c= -Wno-cast-qual -Wno-pointer-arith
 +CFLAGS.zstd.c= -U__BMI__ -fno-tree-vectorize
 +.if ${MACHINE_CPUARCH} == "aarch64"
 +CFLAGS.zstd.c+= -include ${SRCDIR}/zstd/include/aarch64_compat.h
 +.endif
diff --cc sys/modules/zfs/zfs_config.h
index ebad45d3def7,000000000000..fa3d4feec5de
mode 100644,000000..100644
--- a/sys/modules/zfs/zfs_config.h
+++ b/sys/modules/zfs/zfs_config.h
@@@ -1,852 -1,0 +1,852 @@@
 +/*
 + * $FreeBSD$
 + */
 +
 +/* zfs_config.h.  Generated from zfs_config.h.in by configure.  */
 +/* zfs_config.h.in.  Generated from configure.ac by autoheader.  */
 +
 +/* Define to 1 if translation of program messages to the user's native
 +   language is requested. */
 +/* #undef ENABLE_NLS */
 +
 +/* bio_end_io_t wants 1 arg */
 +/* #undef HAVE_1ARG_BIO_END_IO_T */
 +
 +/* lookup_bdev() wants 1 arg */
 +/* #undef HAVE_1ARG_LOOKUP_BDEV */
 +
 +/* submit_bio() wants 1 arg */
 +/* #undef HAVE_1ARG_SUBMIT_BIO */
 +
 +/* bdi_setup_and_register() wants 2 args */
 +/* #undef HAVE_2ARGS_BDI_SETUP_AND_REGISTER */
 +
 +/* vfs_getattr wants 2 args */
 +/* #undef HAVE_2ARGS_VFS_GETATTR */
 +
 +/* zlib_deflate_workspacesize() wants 2 args */
 +/* #undef HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE */
 +
 +/* bdi_setup_and_register() wants 3 args */
 +/* #undef HAVE_3ARGS_BDI_SETUP_AND_REGISTER */
 +
 +/* vfs_getattr wants 3 args */
 +/* #undef HAVE_3ARGS_VFS_GETATTR */
 +
 +/* vfs_getattr wants 4 args */
 +/* #undef HAVE_4ARGS_VFS_GETATTR */
 +
 +/* kernel has access_ok with 'type' parameter */
 +/* #undef HAVE_ACCESS_OK_TYPE */
 +
 +/* posix_acl has refcount_t */
 +/* #undef HAVE_ACL_REFCOUNT */
 +
 +/* Define if host toolchain supports AES */
 +#define HAVE_AES 1
 +
 +#ifdef __amd64__
 +#ifndef RESCUE
 +/* Define if host toolchain supports AVX */
 +#define HAVE_AVX 1
 +#endif
 +
 +/* Define if host toolchain supports AVX2 */
 +#define HAVE_AVX2 1
 +
 +/* Define if host toolchain supports AVX512BW */
 +#define HAVE_AVX512BW 1
 +
 +/* Define if host toolchain supports AVX512CD */
 +#define HAVE_AVX512CD 1
 +
 +/* Define if host toolchain supports AVX512DQ */
 +#define HAVE_AVX512DQ 1
 +
 +/* Define if host toolchain supports AVX512ER */
 +#define HAVE_AVX512ER 1
 +
 +/* Define if host toolchain supports AVX512F */
 +#define HAVE_AVX512F 1
 +
 +/* Define if host toolchain supports AVX512IFMA */
 +#define HAVE_AVX512IFMA 1
 +
 +/* Define if host toolchain supports AVX512PF */
 +#define HAVE_AVX512PF 1
 +
 +/* Define if host toolchain supports AVX512VBMI */
 +#define HAVE_AVX512VBMI 1
 +
 +/* Define if host toolchain supports AVX512VL */
 +#define HAVE_AVX512VL 1
 +#endif
 +
 +/* bdev_check_media_change() exists */
 +/* #undef HAVE_BDEV_CHECK_MEDIA_CHANGE */
 +
 +/* bdev_whole() is available */
 +/* #undef HAVE_BDEV_WHOLE */
 +
 +/* bio->bi_bdev->bd_disk exists */
 +/* #undef HAVE_BIO_BDEV_DISK */
 +
 +/* bio->bi_opf is defined */
 +/* #undef HAVE_BIO_BI_OPF */
 +
 +/* bio->bi_status exists */
 +/* #undef HAVE_BIO_BI_STATUS */
 +
 +/* bio has bi_iter */
 +/* #undef HAVE_BIO_BVEC_ITER */
 +
 +/* bio_*_io_acct() available */
 +/* #undef HAVE_BIO_IO_ACCT */
 +
 +/* bio_max_segs() is implemented */
 +/* #undef HAVE_BIO_MAX_SEGS */
 +
 +/* bio_set_dev() is available */
 +/* #undef HAVE_BIO_SET_DEV */
 +
 +/* bio_set_dev() GPL-only */
 +/* #undef HAVE_BIO_SET_DEV_GPL_ONLY */
 +
 +/* bio_set_op_attrs is available */
 +/* #undef HAVE_BIO_SET_OP_ATTRS */
 +
 +/* blkdev_reread_part() exists */
 +/* #undef HAVE_BLKDEV_REREAD_PART */
 +
 +/* blkg_tryget() is available */
 +/* #undef HAVE_BLKG_TRYGET */
 +
 +/* blkg_tryget() GPL-only */
 +/* #undef HAVE_BLKG_TRYGET_GPL_ONLY */
 +
++/* blk_alloc_disk() exists */
++/* #undef HAVE_BLK_ALLOC_DISK */
++
 +/* blk_alloc_queue() expects request function */
 +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN */
 +
 +/* blk_alloc_queue_rh() expects request function */
 +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN_RH */
 +
 +/* blk queue backing_dev_info is dynamic */
 +/* #undef HAVE_BLK_QUEUE_BDI_DYNAMIC */
 +
 +/* blk_queue_flag_clear() exists */
 +/* #undef HAVE_BLK_QUEUE_FLAG_CLEAR */
 +
 +/* blk_queue_flag_set() exists */
 +/* #undef HAVE_BLK_QUEUE_FLAG_SET */
 +
 +/* blk_queue_flush() is available */
 +/* #undef HAVE_BLK_QUEUE_FLUSH */
 +
 +/* blk_queue_flush() is GPL-only */
 +/* #undef HAVE_BLK_QUEUE_FLUSH_GPL_ONLY */
 +
 +/* blk_queue_secdiscard() is available */
 +/* #undef HAVE_BLK_QUEUE_SECDISCARD */
 +
 +/* blk_queue_secure_erase() is available */
 +/* #undef HAVE_BLK_QUEUE_SECURE_ERASE */
 +
++/* blk_queue_update_readahead() exists */
++/* #undef HAVE_BLK_QUEUE_UPDATE_READAHEAD */
++
 +/* blk_queue_write_cache() exists */
 +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE */
 +
 +/* blk_queue_write_cache() is GPL-only */
 +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE_GPL_ONLY */
 +
 +/* Define if revalidate_disk() in block_device_operations */
 +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK */
 +
 +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
 +   CoreFoundation framework. */
 +/* #undef HAVE_CFLOCALECOPYCURRENT */
 +
*** 717 LINES SKIPPED ***


More information about the dev-commits-src-all mailing list