Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zfs-2.1.5 patchset #13532

Merged
merged 97 commits into from
Jun 22, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
5a21214
zfs, libzfs: diff: accept -h/ZFS_DIFF_NO_MANGLE, disabling path escaping
nabijaczleweli Dec 9, 2021
7fbb90f
libzfs: diff: stream_bytes: use fputc, %hho formats chars
nabijaczleweli Dec 9, 2021
fe6f265
etc/systemd/zfs-mount-generator: serialise, handle keylocation=http[s…
nabijaczleweli Nov 30, 2021
9f69435
Default to zfs_dmu_offset_next_sync=1
behlendorf Nov 30, 2021
5a9994f
Export minimal zfs_refcount interfaces
behlendorf Oct 11, 2021
a5a2872
FreeBSD: Use NDFREE_PNBUF if available
Apr 2, 2022
215a825
Linux 5.18 compat: 4-argument bio_alloc()
nabijaczleweli Mar 24, 2022
9f7f704
Linux 5.18 compat: replace genhd.h with blkdev.h includes
nabijaczleweli Mar 24, 2022
10a9f5f
Linux 5.18 compat: blkg_tryget is moved to private headers
ret2libc Apr 1, 2022
35ddd8e
Linux 5.18 compat: use address_space_operations->readahead
ret2libc Apr 1, 2022
1f4c79b
libzfs: sendrecv: always cancel progress thread in zfs_send_one()
nabijaczleweli Apr 4, 2022
ff23ef0
libzfs: import: zpool_clear_label: actually fail if clearing l2arc he…
nabijaczleweli Apr 7, 2022
e9cd90f
FreeBSD: Parameterize ZFS_ENTER/ZFS_VERIFY_VP with an error code
markjdb Apr 7, 2022
b7546f9
FreeBSD: Return Mach error codes from VOP_(GET|PUT)PAGES
markjdb Apr 7, 2022
aa1c3c1
Linux 5.17 compat: GENHD_FL_EXT_DEVT / GENHD_FL_NO_PART_SCAN
behlendorf Apr 19, 2022
361dc13
Document zfs inherit -S's interaction with noninheritable properties
nabijaczleweli Apr 16, 2022
c220771
Corrected oversight in ZERO_RANGE behavior
rincebrain Apr 20, 2022
972637d
FreeBSD: Fix translation from ABD to physical pages.
amotin Apr 19, 2022
6424260
Linux 5.18 compat: kobj_type.default_attrs replaced with default_groups
nabijaczleweli Apr 21, 2022
71cd372
Fix O_APPEND for Linux 3.15 and older kernels
behlendorf Apr 28, 2022
49c1346
Linux 5.18 compat: replace __set_page_dirty_nobuffers
behlendorf Apr 28, 2022
c0ff5f1
zfs: holds: dequadratify
nabijaczleweli Apr 28, 2022
ce8d41e
Skip spacemaps reading in case of pool readonly import
behlendorf Apr 28, 2022
a1a54b3
libzutil: zpool_find_config: remove unused variable
nabijaczleweli Jun 3, 2021
116d447
libzfs: zfs_send: remove unused variable
nabijaczleweli Jun 3, 2021
4149e19
module/zfs: arc: arc_hdr_realloc_crypt: remove unused variables
nabijaczleweli Jun 3, 2021
18e9268
module/zfs: dbuf: dbuf_read_impl: remove unused variable
nabijaczleweli Jun 3, 2021
986d64c
module/zfs: vdev_indirect: vdev_indirect_repair: remove unused variable
nabijaczleweli Jun 3, 2021
7536ad3
module/zfs: vdev_removal: spa_vdev_remove_thread: remove unused variable
nabijaczleweli Jun 3, 2021
b8e1366
zvol: remove unused variable
nabijaczleweli Dec 27, 2021
a175fe8
fm: remove unused variables
nabijaczleweli Dec 27, 2021
9e68b73
zvol: remove unused variable
nabijaczleweli Dec 27, 2021
a4f582f
FreeBSD: remove unused variable
nabijaczleweli Dec 23, 2021
ecec151
module: zfs: freebsd: fix unused, remove argsused
nabijaczleweli Dec 22, 2021
4c9c96a
Silence unused-but-set-variable warnings
behlendorf Apr 29, 2022
ce8ae06
Python 3.10 fixes, part 2
rincebrain Oct 29, 2021
bc03fee
Remove REMAKE_INITRD
kylosus Nov 30, 2021
0657247
contrib/dracut: zfs-lib: export_all: replace with inline zpool export -a
nabijaczleweli Feb 12, 2022
ae054e6
contrib: dracut: parse-zfs: drop initqueue-finished for i/f
nabijaczleweli Apr 4, 2022
b551725
contrib: dracut: parse-zfs: stop pretending we support FILESYSTEM=
nabijaczleweli Apr 4, 2022
0864c29
contrib; dracut: centralise root= parsing, actually support root=s
nabijaczleweli Apr 4, 2022
71a1d8e
contrib; dracut: flatten zfs-load-key, simplify zfs-env-bootfs
nabijaczleweli Apr 4, 2022
5c0aa40
contrib: dracut: zfs-lib: simplify ask_for_password
nabijaczleweli Apr 4, 2022
5c97f76
contrib: dracut: zfs-lib: remove find_bootfs
nabijaczleweli Apr 4, 2022
059a563
contrib: dracut: inline single-use import_pool, move single-use ask_f…
nabijaczleweli Apr 4, 2022
fc41be5
contrib: dracut: don't require essentials to be under the same encroot
nabijaczleweli Apr 4, 2022
a0e81a4
contrib: dracut: zfs-{rollback,snapshot}-bootfs: order after key loading
nabijaczleweli Apr 4, 2022
0947096
contrib: dracut: zfs-needshutdown: don't list
nabijaczleweli Apr 4, 2022
1781ee7
Add dracut.zfs.7
nabijaczleweli Apr 4, 2022
1184df6
contrib: dracut: remove getargbool polyfill
nabijaczleweli Apr 5, 2022
bb29f1e
Reduce dbuf_find() lock contention
behlendorf May 4, 2022
2a64eeb
man: zpool-import.8: -d -or -c
nabijaczleweli May 10, 2022
1467a1b
module: zstd: check we don't leak symbols; regenerate symbol map
nabijaczleweli Mar 15, 2022
1f31889
FreeBSD: Implement hole-punching support
khng300 Aug 4, 2021
1d54deb
zvol_wait: Ignore locked zvols
rlaager Apr 22, 2022
210b331
Strengthen Linux kernel capabilities detection
szubersk Apr 21, 2022
3bb068d
autoconf: Pretend `CONFIG_MODULES` is always on
szubersk Apr 26, 2022
60fc173
Adding ZERO_PAGE detection
bwatkinson Mar 14, 2022
13b1f33
PPC get_user workaround
szubersk Apr 26, 2022
756c3e0
autoconf: Fail when __copy_from_user_inatomic is a non-GPL symbol
szubersk May 7, 2022
2c5c8bb
FreeBSD: use zero_region instead of allocating a dedicated page
mjguzik May 4, 2022
eee389b
Fix functions without a prototype
aidanharris May 6, 2022
b28c0c4
abd_os: remove redundant refcount creation for abd_children
hpingfs May 9, 2022
0112bc2
Add missing AC_MSG_RESULT(no) to configure
behlendorf May 12, 2022
0514731
Fix compiler warnings about zero-length arrays in inline bitops
ckane May 17, 2022
0671f72
Make better use of dracut functions when building initramfs
savyajha Jan 25, 2022
ebbfc6c
Make dracut fail if essential files cannot be installed
savyajha Feb 6, 2022
4252517
Remove absolute paths to udev rules and binaries for dracut
savyajha Feb 14, 2022
115e059
Multiple dracut module install script cleanups
savyajha Feb 14, 2022
96c7c63
automake: don't install /e/d/zfs or /e/z/zfs-functions +x
nabijaczleweli May 24, 2022
4184b78
zdb: Fix handling of nul termination in symlink targets
markjdb May 20, 2022
5d534f1
zed: Take no action on scrub/resilver checksum errors
behlendorf May 24, 2022
5d9c527
Modified ncompress requirement in RPM to exclude RHEL9
rincebrain May 24, 2022
ed16dd7
Standardize RHEL version check in packages
behlendorf May 25, 2022
fde66e5
FreeBSD: libspl: Add locking around statfs globals
May 24, 2022
0a688b2
rpm: Keep debug symbols if configured with '--enable-debuginfo'
usaleem-ix May 25, 2022
2458c7e
zed: support subject as header in zed_notify_email()
heeplr May 18, 2022
090bda5
Silence unused-but-set-variable warning
May 26, 2022
5a639f0
Linux 5.18 compat: bio_alloc()
behlendorf May 27, 2022
9ce5eb1
Linux 5.19 compat: bdev_max_discard_sectors()
behlendorf May 27, 2022
048301b
Linux 5.19 compat: bdev_max_secure_erase_sectors()
behlendorf May 27, 2022
7ae5ea8
Linux 5.19 compat: blkdev_issue_secure_erase()
behlendorf May 27, 2022
fec407f
Linux 5.19 compat: aops->read_folio()
behlendorf May 27, 2022
ee84970
Linux 5.19 compat: bdev_start_io_acct() / bdev_end_io_acct()
behlendorf May 27, 2022
69430e3
Linux 5.19 compat: zap_flags_t conflict
behlendorf May 27, 2022
1c4e6a3
Linux 5.19 compat: asm/fpu/internal.h
behlendorf Jun 1, 2022
db530f6
autoconf: AC_MSG_CHECKING consistency
behlendorf May 31, 2022
fc18fa9
Linux 5.18 compat: META
behlendorf May 31, 2022
2712411
Reject zfs send -RI with nonexistent fromsnap
rincebrain Oct 4, 2021
56eed50
libzfs: mount: don't leak mnt_param_t if mnt_func fails
nabijaczleweli Jan 12, 2022
1fdd768
libzfs: Fail making a dataset handle gracefully
Feb 18, 2022
3381885
Remove wrong assertion in log spacemap
amotin Jun 1, 2022
cc565f5
Corrected edge case in uncompressed ARC->L2ARC handling
rincebrain May 4, 2022
6ff89fe
Improve sorted scan memory accounting
amotin Jun 10, 2022
403d4bc
FreeBSD: Silence clang unused-but-set-variable
Jun 15, 2022
6e95413
Remove install of zfs-load-module.service for dracut
prometheanfire Jun 21, 2022
6c3c5fc
Tag zfs-2.1.5
tonyhutter Jun 21, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions META
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Meta: 1
Name: zfs
Branch: 1.0
Version: 2.1.4
Version: 2.1.5
Release: 1
Release-Tags: relext
License: CDDL
Author: OpenZFS
Linux-Maximum: 5.17
Linux-Maximum: 5.18
Linux-Minimum: 3.10
7 changes: 6 additions & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ endif
endif

PHONY += codecheck
codecheck: cstyle shellcheck checkbashisms flake8 mancheck testscheck vcscheck
codecheck: cstyle shellcheck checkbashisms flake8 mancheck testscheck vcscheck zstdcheck

PHONY += checkstyle
checkstyle: codecheck commitcheck
Expand All @@ -120,6 +120,7 @@ cstyle:
-o -type f -name '*.[hc]' \
! -name 'zfs_config.*' ! -name '*.mod.c' \
! -name 'opt_global.h' ! -name '*_if*.h' \
! -name 'zstd_compat_wrapper.h' \
! -path './module/zstd/lib/*' \
-exec ${top_srcdir}/scripts/cstyle.pl -cpP {} \+

Expand Down Expand Up @@ -173,6 +174,10 @@ vcscheck:
awk '{c++; print} END {if(c>0) exit 1}' ; \
fi

PHONY += zstdcheck
zstdcheck:
@$(MAKE) -C module/zstd checksymbols

PHONY += lint
lint: cppcheck paxcheck

Expand Down
13 changes: 12 additions & 1 deletion cmd/zdb/zdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ extern int zfs_recover;
extern unsigned long zfs_arc_meta_min, zfs_arc_meta_limit;
extern int zfs_vdev_async_read_max_active;
extern boolean_t spa_load_verify_dryrun;
extern boolean_t spa_mode_readable_spacemaps;
extern int zfs_reconstruct_indirect_combinations_max;
extern int zfs_btree_verify_intensity;

Expand Down Expand Up @@ -3124,13 +3125,18 @@ dump_znode_symlink(sa_handle_t *hdl)
{
int sa_symlink_size = 0;
char linktarget[MAXPATHLEN];
linktarget[0] = '\0';
int error;

error = sa_size(hdl, sa_attr_table[ZPL_SYMLINK], &sa_symlink_size);
if (error || sa_symlink_size == 0) {
return;
}
if (sa_symlink_size >= sizeof (linktarget)) {
(void) printf("symlink size %d is too large\n",
sa_symlink_size);
return;
}
linktarget[sa_symlink_size] = '\0';
if (sa_lookup(hdl, sa_attr_table[ZPL_SYMLINK],
&linktarget, sa_symlink_size) == 0)
(void) printf("\ttarget %s\n", linktarget);
Expand Down Expand Up @@ -8469,6 +8475,11 @@ main(int argc, char **argv)
*/
spa_load_verify_dryrun = B_TRUE;

/*
* ZDB should have ability to read spacemaps.
*/
spa_mode_readable_spacemaps = B_TRUE;

kernel_init(SPA_MODE_READ);

if (dump_all)
Expand Down
20 changes: 20 additions & 0 deletions cmd/zed/agents/zfs_diagnosis.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
#include <sys/fs/zfs.h>
#include <sys/fm/protocol.h>
#include <sys/fm/fs/zfs.h>
#include <sys/zio.h>

#include "zfs_agents.h"
#include "fmd_api.h"
Expand Down Expand Up @@ -773,6 +774,8 @@ zfs_fm_recv(fmd_hdl_t *hdl, fmd_event_t *ep, nvlist_t *nvl, const char *class)
ZFS_MAKE_EREPORT(FM_EREPORT_ZFS_PROBE_FAILURE))) {
char *failmode = NULL;
boolean_t checkremove = B_FALSE;
uint32_t pri = 0;
int32_t flags = 0;

/*
* If this is a checksum or I/O error, then toss it into the
Expand All @@ -795,6 +798,23 @@ zfs_fm_recv(fmd_hdl_t *hdl, fmd_event_t *ep, nvlist_t *nvl, const char *class)
checkremove = B_TRUE;
} else if (fmd_nvl_class_match(hdl, nvl,
ZFS_MAKE_EREPORT(FM_EREPORT_ZFS_CHECKSUM))) {
/*
* We ignore ereports for checksum errors generated by
* scrub/resilver I/O to avoid potentially further
* degrading the pool while it's being repaired.
*/
if (((nvlist_lookup_uint32(nvl,
FM_EREPORT_PAYLOAD_ZFS_ZIO_PRIORITY, &pri) == 0) &&
(pri == ZIO_PRIORITY_SCRUB ||
pri == ZIO_PRIORITY_REBUILD)) ||
((nvlist_lookup_int32(nvl,
FM_EREPORT_PAYLOAD_ZFS_ZIO_FLAGS, &flags) == 0) &&
(flags & (ZIO_FLAG_SCRUB | ZIO_FLAG_RESILVER)))) {
fmd_hdl_debug(hdl, "ignoring '%s' for "
"scrub/resilver I/O", class);
return;
}

if (zcp->zc_data.zc_serd_checksum[0] == '\0') {
zfs_serd_name(zcp->zc_data.zc_serd_checksum,
pool_guid, vdev_guid, "checksum");
Expand Down
21 changes: 17 additions & 4 deletions cmd/zed/zed.d/zed-functions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,8 @@ zed_notify()
# ZED_EMAIL_OPTS. This undergoes the following keyword substitutions:
# - @ADDRESS@ is replaced with the space-delimited recipient email address(es)
# - @SUBJECT@ is replaced with the notification subject
# If @SUBJECT@ was omited here, a "Subject: ..." header will be added to notification
#
#
# Arguments
# subject: notification subject
Expand All @@ -241,7 +243,7 @@ zed_notify()
#
zed_notify_email()
{
local subject="$1"
local subject="${1:-"ZED notification"}"
local pathname="${2:-"/dev/null"}"

: "${ZED_EMAIL_PROG:="mail"}"
Expand All @@ -262,12 +264,23 @@ zed_notify_email()
return 1
fi

ZED_EMAIL_OPTS="$(echo "${ZED_EMAIL_OPTS}" \
# construct cmdline options
ZED_EMAIL_OPTS_PARSED="$(echo "${ZED_EMAIL_OPTS}" \
| sed -e "s/@ADDRESS@/${ZED_EMAIL_ADDR}/g" \
-e "s/@SUBJECT@/${subject}/g")"

# shellcheck disable=SC2086
eval ${ZED_EMAIL_PROG} ${ZED_EMAIL_OPTS} < "${pathname}" >/dev/null 2>&1
# pipe message to email prog
# shellcheck disable=SC2086,SC2248
{
# no subject passed as option?
if [ "${ZED_EMAIL_OPTS%@SUBJECT@*}" = "${ZED_EMAIL_OPTS}" ] ; then
# inject subject header
printf "Subject: %s\n" "${subject}"
fi
# output message
cat "${pathname}"
} |
eval ${ZED_EMAIL_PROG} ${ZED_EMAIL_OPTS_PARSED} >/dev/null 2>&1
rv=$?
if [ "${rv}" -ne 0 ]; then
zed_log_err "${ZED_EMAIL_PROG##*/} exit=${rv}"
Expand Down
1 change: 1 addition & 0 deletions cmd/zed/zed.d/zed.rc
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ ZED_EMAIL_ADDR="root"
# The string @SUBJECT@ will be replaced with the notification subject;
# this should be protected with quotes to prevent word-splitting.
# Email will only be sent if ZED_EMAIL_ADDR is defined.
# If @SUBJECT@ was omited here, a "Subject: ..." header will be added to notification
#
#ZED_EMAIL_OPTS="-s '@SUBJECT@' @ADDRESS@"

Expand Down
7 changes: 5 additions & 2 deletions cmd/zfs/zfs_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -6593,7 +6593,7 @@ zfs_do_holds(int argc, char **argv)
/*
* 1. collect holds data, set format options
*/
ret = zfs_for_each(argc, argv, flags, types, NULL, NULL, limit,
ret = zfs_for_each(1, argv + i, flags, types, NULL, NULL, limit,
holds_callback, &cb);
if (ret != 0)
++errors;
Expand Down Expand Up @@ -7672,7 +7672,7 @@ zfs_do_diff(int argc, char **argv)
int c;
struct sigaction sa;

while ((c = getopt(argc, argv, "FHt")) != -1) {
while ((c = getopt(argc, argv, "FHth")) != -1) {
switch (c) {
case 'F':
flags |= ZFS_DIFF_CLASSIFY;
Expand All @@ -7683,6 +7683,9 @@ zfs_do_diff(int argc, char **argv)
case 't':
flags |= ZFS_DIFF_TIMESTAMP;
break;
case 'h':
flags |= ZFS_DIFF_NO_MANGLE;
break;
default:
(void) fprintf(stderr,
gettext("invalid option '%c'\n"), optopt);
Expand Down
10 changes: 6 additions & 4 deletions cmd/zvol_wait/zvol_wait
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,17 @@ filter_out_deleted_zvols() {
list_zvols() {
read -r default_volmode < /sys/module/zfs/parameters/zvol_volmode
zfs list -t volume -H -o \
name,volmode,receive_resume_token,redact_snaps |
while IFS=" " read -r name volmode token redacted; do # IFS=\t here!
name,volmode,receive_resume_token,redact_snaps,keystatus |
while IFS=" " read -r name volmode token redacted keystatus; do # IFS=\t here!

# /dev links are not created for zvols with volmode = "none"
# or for redacted zvols.
# /dev links are not created for zvols with volmode = "none",
# redacted zvols, or encrypted zvols for which the key has not
# been loaded.
[ "$volmode" = "none" ] && continue
[ "$volmode" = "default" ] && [ "$default_volmode" = "3" ] &&
continue
[ "$redacted" = "-" ] || continue
[ "$keystatus" = "unavailable" ] && continue

# We also ignore partially received zvols if it is
# not an incremental receive, as those won't even have a block
Expand Down
2 changes: 1 addition & 1 deletion config/ax_python_devel.m4
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ EOD`
ac_python_version=$PYTHON_VERSION
else
ac_python_version=`$PYTHON -c "import sys; \
print (sys.version[[:3]])"`
print ('.'.join(sys.version.split('.')[[:2]]))"`
fi
fi

Expand Down
5 changes: 2 additions & 3 deletions config/kernel-add-disk.m4
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@ dnl # 5.16 API change
dnl # add_disk grew a must-check return code
dnl #
AC_DEFUN([ZFS_AC_KERNEL_SRC_ADD_DISK], [

ZFS_LINUX_TEST_SRC([add_disk_ret], [
#include <linux/genhd.h>
#include <linux/blkdev.h>
], [
struct gendisk *disk = NULL;
int err = add_disk(disk);
err = err;
])

])

AC_DEFUN([ZFS_AC_KERNEL_ADD_DISK], [
AC_MSG_CHECKING([whether add_disk() returns int])
ZFS_LINUX_TEST_RESULT([add_disk_ret],
Expand Down
39 changes: 38 additions & 1 deletion config/kernel-bio.m4
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,7 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_BLK_CGROUP_HEADER], [
])

AC_DEFUN([ZFS_AC_KERNEL_BLK_CGROUP_HEADER], [
AC_MSG_CHECKING([for existence of linux/blk-cgroup.h])
AC_MSG_CHECKING([whether linux/blk-cgroup.h exists])
ZFS_LINUX_TEST_RESULT([blk_cgroup_header],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_LINUX_BLK_CGROUP_HEADER, 1,
Expand All @@ -474,6 +474,41 @@ AC_DEFUN([ZFS_AC_KERNEL_BLK_CGROUP_HEADER], [
])
])

dnl #
dnl # Linux 5.18 API
dnl #
dnl # In 07888c665b405b1cd3577ddebfeb74f4717a84c4 ("block: pass a block_device and opf to bio_alloc")
dnl # bio_alloc(gfp_t gfp_mask, unsigned short nr_iovecs)
dnl # became
dnl # bio_alloc(struct block_device *bdev, unsigned short nr_vecs, unsigned int opf, gfp_t gfp_mask)
dnl # however
dnl # > NULL/0 can be passed, both for the
dnl # > passthrough case on a raw request_queue and to temporarily avoid
dnl # > refactoring some nasty code.
dnl #
AC_DEFUN([ZFS_AC_KERNEL_SRC_BIO_ALLOC_4ARG], [
ZFS_LINUX_TEST_SRC([bio_alloc_4arg], [
#include <linux/bio.h>
],[
gfp_t gfp_mask = 0;
unsigned short nr_iovecs = 0;
struct block_device *bdev = NULL;
unsigned int opf = 0;

struct bio *__attribute__((unused)) allocated = bio_alloc(bdev, nr_iovecs, opf, gfp_mask);
])
])

AC_DEFUN([ZFS_AC_KERNEL_BIO_ALLOC_4ARG], [
AC_MSG_CHECKING([whether bio_alloc() wants 4 args])
ZFS_LINUX_TEST_RESULT([bio_alloc_4arg],[
AC_MSG_RESULT(yes)
AC_DEFINE([HAVE_BIO_ALLOC_4ARG], 1, [bio_alloc() takes 4 arguments])
],[
AC_MSG_RESULT(no)
])
])

AC_DEFUN([ZFS_AC_KERNEL_SRC_BIO], [
ZFS_AC_KERNEL_SRC_REQ
ZFS_AC_KERNEL_SRC_BIO_OPS
Expand All @@ -488,6 +523,7 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_BIO], [
ZFS_AC_KERNEL_SRC_BDEV_SUBMIT_BIO_RETURNS_VOID
ZFS_AC_KERNEL_SRC_BIO_SET_DEV_MACRO
ZFS_AC_KERNEL_SRC_BLK_CGROUP_HEADER
ZFS_AC_KERNEL_SRC_BIO_ALLOC_4ARG
])

AC_DEFUN([ZFS_AC_KERNEL_BIO], [
Expand All @@ -512,4 +548,5 @@ AC_DEFUN([ZFS_AC_KERNEL_BIO], [
ZFS_AC_KERNEL_BIO_BDEV_DISK
ZFS_AC_KERNEL_BDEV_SUBMIT_BIO_RETURNS_VOID
ZFS_AC_KERNEL_BLK_CGROUP_HEADER
ZFS_AC_KERNEL_BIO_ALLOC_4ARG
])
Loading