Notable upstream pull request merges:
 #17015 201d26294 Add receive:append permission for limited receive
 #17020 94a3fabcb Unified allocation throttling
 #17038 1b495eeab FDT dedup log sync  -- remove incremental
 #17073 9250403ba Make ganging redundancy respect redundant_metadata
                  property
 #17077 0433523ca Verify every block pointer is either embedded, hole,
                  or has a valid DVA
 #17101 83fa051ce spl_vfs: fix vrele task runner signature mismatch
 #17113 09f4dd06c Prefer embedded blocks to dedup
 #17120 0ea44e576 Fix deduplication of overridden blocks
 #17124 62a9d372f zed: Print return code on failed zpool_prepare_disk
 #17126 3cd9934a4 Some arc_release() cleanup
 #17136 d033f2676 Always perform bounds-checking in metaslab_free_concrete
 #17142 45e9b54e9 kstat: allow multi-level module names
 #17145 676b7ef10 Fix deadlock on I/O errors during device removal
 #17180 4abc21b28 Block remap for cloned blocks on device removal

Obtained from:	OpenZFS
OpenZFS commit:	4abc21b28c
This commit is contained in:
Martin Matuska committed 2025-03-27 09:01:36 +01:00
commit 61145dc2b9
3270 files changed
+6100 -1428

No files matched your search

+5 -5
View File
@@ -5,16 +5,16 @@ env:
build_task:
matrix:
freebsd_instance:
image_family: freebsd-12-4
image_family: freebsd-13-5
freebsd_instance:
image_family: freebsd-13-2
image_family: freebsd-14-2
freebsd_instance:
image_family: freebsd-14-0-snap
image_family: freebsd-15-0-snap
prepare_script:
- pkg install -y autoconf automake libtool gettext-runtime gmake ksh93 py39-packaging py39-cffi py39-sysctl
- pkg install -y autoconf automake libtool gettext-runtime gmake ksh93 py311-packaging py311-cffi py311-sysctl
configure_script:
- env MAKE=gmake ./autogen.sh
- env MAKE=gmake ./configure --with-config="user" --with-python=3.9
- env MAKE=gmake ./configure --with-config="user" --with-python=3.11
build_script:
- gmake -j `sysctl -n kern.smp.cpus`
install_script:
@@ -68,13 +68,6 @@ case "$OS" in
OSv="fedora-unknown"
URL="https://download.fedoraproject.org/pub/fedora/linux/releases/41/Cloud/x86_64/images/Fedora-Cloud-Base-Generic-41-1.4.x86_64.qcow2"
;;
freebsd13-3r)
OSNAME="FreeBSD 13.3-RELEASE"
OSv="freebsd13.0"
URLzs="$FREEBSD/amd64-freebsd-13.3-RELEASE.qcow2.zst"
BASH="/usr/local/bin/bash"
NIC="rtl8139"
;;
freebsd13-4r)
OSNAME="FreeBSD 13.4-RELEASE"
OSv="freebsd13.0"
@@ -82,12 +75,6 @@ case "$OS" in
BASH="/usr/local/bin/bash"
NIC="rtl8139"
;;
freebsd14-1r)
OSNAME="FreeBSD 14.1-RELEASE"
OSv="freebsd14.0"
URLzs="$FREEBSD/amd64-freebsd-14.1-RELEASE.qcow2.zst"
BASH="/usr/local/bin/bash"
;;
freebsd14-2r)
OSNAME="FreeBSD 14.2-RELEASE"
OSv="freebsd14.0"
@@ -259,8 +259,9 @@ function rpm_build_and_install() {
# ZFS release RPMs are built. Copy them to the ~/zfs directory just to
# keep all the RPMs in the same place.
cp ~/rpmbuild/RPMS/noarch/*.rpm .
cp ~/rpmbuild/SRPMS/*.rpm .
cp ~/rpmbuild/RPMS/noarch/*.rpm ~/zfs
cp ~/rpmbuild/SRPMS/*.rpm ~/zfs
popd
rm -fr ~/rpmbuild
echo "##[endgroup]"
@@ -300,6 +301,17 @@ function deb_build_and_install() {
echo "##[endgroup]"
}
function build_tarball {
if [ -n "$REPO" ] ; then
./autogen.sh
./configure --with-config=srpm
make dist
mkdir -p /tmp/repo/releases
# The tarball name is based off of 'Version' field in the META file.
mv *.tar.gz /tmp/repo/releases/
fi
}
# Debug: show kernel cmdline
if [ -f /proc/cmdline ] ; then
cat /proc/cmdline || true
@@ -339,6 +351,13 @@ case "$OS" in
;;
fedora*)
rpm_build_and_install "$extra"
# Historically, we've always built the release tarballs on Fedora, since
# there was one instance long ago where we built them on CentOS 7, and they
# didn't work correctly for everyone.
if [ -n "$TARBALL" ] ; then
build_tarball
fi
;;
debian*|ubuntu*)
deb_build_and_install "$extra"
@@ -348,16 +367,6 @@ case "$OS" in
;;
esac
# Optionally build tarballs. The tarball's root directory name will be named
# after the current tag, like 'zfs-2.3.0' or 'master'.
if [ -n "$TARBALL" ] ; then
tag="$(git symbolic-ref -q --short HEAD || git describe --tags --exact-match)"
git archive --format=tar.gz -o $tag.tar.gz $tag
if [ -n "$REPO" ] ; then
mkdir -p /tmp/repo/releases
cp $tag.tar.gz /tmp/repo/releases
fi
fi
# building the zfs module was ok
echo 0 > /var/tmp/build-exitcode.txt
+3 -3
View File
@@ -34,8 +34,8 @@ jobs:
- name: Generate OS config and CI type
id: os
run: |
FULL_OS='["almalinux8", "almalinux9", "debian11", "debian12", "fedora40", "fedora41", "freebsd13-3r", "freebsd13-4s", "freebsd14-1r", "freebsd14-2s", "freebsd15-0c", "ubuntu20", "ubuntu22", "ubuntu24"]'
QUICK_OS='["almalinux8", "almalinux9", "debian12", "fedora41", "freebsd13-3r", "freebsd14-2r", "ubuntu24"]'
FULL_OS='["almalinux8", "almalinux9", "debian11", "debian12", "fedora40", "fedora41", "freebsd13-4r", "freebsd14-2r", "freebsd15-0c", "ubuntu20", "ubuntu22", "ubuntu24"]'
QUICK_OS='["almalinux8", "almalinux9", "debian12", "fedora41", "freebsd14-2r", "ubuntu24"]'
# determine CI type when running on PR
ci_type="full"
if ${{ github.event_name == 'pull_request' }}; then
@@ -72,7 +72,7 @@ jobs:
# debian: debian11, debian12, ubuntu20, ubuntu22, ubuntu24
# misc: archlinux, tumbleweed
# FreeBSD variants of 2024-12:
# FreeBSD Release: freebsd13-3r, freebsd13-4r, freebsd14-1r, freebsd14-2r
# FreeBSD Release: freebsd13-4r, freebsd14-2r
# FreeBSD Stable: freebsd13-4s, freebsd14-2s
# FreeBSD Current: freebsd15-0c
os: ${{ fromJson(needs.test-config.outputs.test_os) }}
+5
View File
@@ -71,6 +71,7 @@ Rob Norris <[email protected]>
Sam Lunt <[email protected]>
Sanjeev Bagewadi <[email protected]>
Sebastian Wuerl <[email protected]>
SHENGYI HONG <[email protected]>
Stoiko Ivanov <[email protected]>
Tamas TEVESZ <[email protected]>
WHR <[email protected]>
@@ -78,8 +79,11 @@ Yanping Gao <[email protected]>
Youzhong Yang <[email protected]>
# Signed-off-by: overriding Author:
Alexander Ziaee <[email protected]> <[email protected]>
Ryan <[email protected]> <[email protected]>
Sietse <[email protected]> <[email protected]>
Phil Sutter <[email protected]> <[email protected]>
poscat <[email protected]> <[email protected]>
Qiuhao Chen <[email protected]> <[email protected]>
Yuxin Wang <[email protected]> <[email protected]>
Zhenlei Huang <[email protected]> <[email protected]>
@@ -207,6 +211,7 @@ Torsten Wörtwein <[email protected]> <[email protected]>
Tulsi Jain <[email protected]> <[email protected]>
Václav Skála <[email protected]> <[email protected]>
Vaibhav Bhanawat <[email protected]> <[email protected]>
Vandana Rungta <[email protected]> <[email protected]>
Violet Purcell <[email protected]> <[email protected]>
Vipin Kumar Verma <[email protected]> <[email protected]>
Wolfgang Bumiller <[email protected]> <[email protected]>
+14
View File
@@ -36,6 +36,7 @@ CONTRIBUTORS:
Alexander Pyhalov <[email protected]>
Alexander Richardson <[email protected]>
Alexander Stetsenko <[email protected]>
Alexander Ziaee <[email protected]>
Alex Braunegg <[email protected]>
Alexey Shvetsov <[email protected]>
Alexey Smirnoff <[email protected]>
@@ -288,6 +289,7 @@ CONTRIBUTORS:
ilovezfs <[email protected]>
InsanePrawn <[email protected]>
Isaac Huang <[email protected]>
Ivan Volosyuk <[email protected]>
Jacek Fefliński <[email protected]>
Jacob Adams <[email protected]>
Jake Howard <[email protected]>
@@ -295,6 +297,7 @@ CONTRIBUTORS:
James H <[email protected]>
James Lee <[email protected]>
James Pan <[email protected]>
James Reilly <[email protected]>
James Wah <[email protected]>
Jan Engelhardt <[email protected]>
Jan Kryl <[email protected]>
@@ -306,6 +309,7 @@ CONTRIBUTORS:
Jason Lee <[email protected]>
Jason Zaman <[email protected]>
Javen Wu <[email protected]>
Jaydeep Kshirsagar <[email protected]>
Jean-Baptiste Lallement <[email protected]>
Jeff Dike <[email protected]>
Jeremy Faulkner <[email protected]>
@@ -313,6 +317,7 @@ CONTRIBUTORS:
Jeremy Jones <[email protected]>
Jeremy Visser <[email protected]>
Jerry Jelinek <[email protected]>
Jerzy Kołosowski <[email protected]>
Jessica Clarke <[email protected]>
Jinshan Xiong <[email protected]>
Jitendra Patidar <[email protected]>
@@ -372,6 +377,7 @@ CONTRIBUTORS:
Kohsuke Kawaguchi <[email protected]>
Konstantin Khorenko <[email protected]>
KORN Andras <[email protected]>
kotauskas <[email protected]>
Kristof Provost <[email protected]>
Krzysztof Piecuch <[email protected]>
Kyle Blatter <[email protected]>
@@ -452,6 +458,7 @@ CONTRIBUTORS:
Mike Swanson <[email protected]>
Milan Jurik <[email protected]>
Minsoo Choo <[email protected]>
mnrx <[email protected]>
Mohamed Tawfik <[email protected]>
Morgan Jones <[email protected]>
Moritz Maxeiner <[email protected]>
@@ -494,6 +501,7 @@ CONTRIBUTORS:
Pawel Jakub Dawidek <[email protected]>
Pedro Giffuni <[email protected]>
Peng <[email protected]>
Peng Liu <[email protected]>
Peter Ashford <[email protected]>
Peter Dave Hello <[email protected]>
Peter Doherty <[email protected]>
@@ -503,9 +511,11 @@ CONTRIBUTORS:
Philip Pokorny <[email protected]>
Philipp Riederer <[email protected]>
Phil Kauffman <[email protected]>
Phil Sutter <[email protected]>
Ping Huang <[email protected]>
Piotr Kubaj <[email protected]>
Piotr P. Stefaniak <[email protected]>
poscat <[email protected]>
Prakash Surya <[email protected]>
Prasad Joshi <[email protected]>
privb0x23 <[email protected]>
@@ -575,6 +585,7 @@ CONTRIBUTORS:
Shaun Tancheff <[email protected]>
Shawn Bayern <[email protected]>
Shengqi Chen <[email protected]>
SHENGYI HONG <[email protected]>
Shen Yan <[email protected]>
Sietse <[email protected]>
Simon Guest <[email protected]>
@@ -616,7 +627,9 @@ CONTRIBUTORS:
timor <[email protected]>
Timothy Day <[email protected]>
Tim Schumacher <[email protected]>
Tim Smith <[email protected]>
Tino Reichardt <[email protected]>
tleydxdy <[email protected]>
Tobin Harding <[email protected]>
Todd Seidelmann <[email protected]>
Tom Caputi <[email protected]>
@@ -640,6 +653,7 @@ CONTRIBUTORS:
Vaibhav Bhanawat <[email protected]>
Valmiky Arquissandas <[email protected]>
Val Packett <[email protected]>
Vandana Rungta <[email protected]>
Vince van Oosten <[email protected]>
Violet Purcell <[email protected]>
Vipin Kumar Verma <[email protected]>
+1 -1
View File
@@ -6,5 +6,5 @@ Release: 1
Release-Tags: relext
License: CDDL
Author: OpenZFS
Linux-Maximum: 6.13
Linux-Maximum: 6.14
Linux-Minimum: 4.18
+4
View File
@@ -112,6 +112,10 @@ commitcheck:
${top_srcdir}/scripts/commitcheck.sh; \
fi
CHECKS += spdxcheck
spdxcheck:
$(AM_V_at)$(top_srcdir)/scripts/spdxcheck.pl
if HAVE_PARALLEL
cstyle_line = -print0 | parallel -X0 ${top_srcdir}/scripts/cstyle.pl -cpP {}
else
+1
View File
@@ -1,4 +1,5 @@
#!/usr/bin/env python3
# SPDX-License-Identifier: BSD-2-Clause
#
# Copyright (c) 2008 Ben Rockwood <[email protected]>,
# Copyright (c) 2010 Martin Matuska <[email protected]>,
+1
View File
@@ -1,4 +1,5 @@
#!/usr/bin/env @PYTHON_SHEBANG@
# SPDX-License-Identifier: CDDL-1.0
#
# Print out ZFS ARC Statistics exported via kstat(1)
# For a definition of fields, or usage, use arcstat -v
+1
View File
@@ -1,4 +1,5 @@
#!/usr/bin/env @PYTHON_SHEBANG@
# SPDX-License-Identifier: CDDL-1.0
#
# Print out statistics for all cached dmu buffers. This information
# is available through the dbufs kstat and may be post-processed as
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
+9 -6
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -2544,12 +2545,14 @@ snprintf_blkptr_compact(char *blkbuf, size_t buflen, const blkptr_t *bp,
blkbuf[0] = '\0';
for (i = 0; i < ndvas; i++)
for (i = 0; i < ndvas; i++) {
(void) snprintf(blkbuf + strlen(blkbuf),
buflen - strlen(blkbuf), "%llu:%llx:%llx ",
buflen - strlen(blkbuf), "%llu:%llx:%llx%s ",
(u_longlong_t)DVA_GET_VDEV(&dva[i]),
(u_longlong_t)DVA_GET_OFFSET(&dva[i]),
(u_longlong_t)DVA_GET_ASIZE(&dva[i]));
(u_longlong_t)DVA_GET_ASIZE(&dva[i]),
(DVA_GET_GANG(&dva[i]) ? "G" : ""));
}
if (BP_IS_HOLE(bp)) {
(void) snprintf(blkbuf + strlen(blkbuf),
@@ -5864,7 +5867,7 @@ zdb_count_block(zdb_cb_t *zcb, zilog_t *zilog, const blkptr_t *bp,
* Find the block. This will create the entry in memory, but
* we'll know if that happened by its refcount.
*/
ddt_entry_t *dde = ddt_lookup(ddt, bp);
ddt_entry_t *dde = ddt_lookup(ddt, bp, B_TRUE);
/*
* ddt_lookup() can return NULL if this block didn't exist
@@ -8980,7 +8983,7 @@ zdb_read_block(char *thing, spa_t *spa)
DVA_SET_VDEV(&dva[0], vd->vdev_id);
DVA_SET_OFFSET(&dva[0], offset);
DVA_SET_GANG(&dva[0], !!(flags & ZDB_FLAG_GBH));
DVA_SET_GANG(&dva[0], 0);
DVA_SET_ASIZE(&dva[0], vdev_psize_to_asize(vd, psize));
BP_SET_BIRTH(bp, TXG_INITIAL, TXG_INITIAL);
@@ -8995,7 +8998,7 @@ zdb_read_block(char *thing, spa_t *spa)
BP_SET_BYTEORDER(bp, ZFS_HOST_BYTEORDER);
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
zio = zio_root(spa, NULL, NULL, 0);
zio = zio_root(spa, NULL, NULL, ZIO_FLAG_CANFAIL);
if (vd == vd->vdev_top) {
/*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
+12 -9
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -214,6 +215,7 @@ zfs_process_add(zpool_handle_t *zhp, nvlist_t *vdev, boolean_t labeled)
vdev_stat_t *vs;
char **lines = NULL;
int lines_cnt = 0;
int rc;
/*
* Get the persistent path, typically under the '/dev/disk/by-id' or
@@ -405,17 +407,17 @@ zfs_process_add(zpool_handle_t *zhp, nvlist_t *vdev, boolean_t labeled)
}
nvlist_lookup_string(vdev, "new_devid", &new_devid);
if (is_mpath_wholedisk) {
/* Don't label device mapper or multipath disks. */
zed_log_msg(LOG_INFO,
" it's a multipath wholedisk, don't label");
if (zpool_prepare_disk(zhp, vdev, "autoreplace", &lines,
&lines_cnt) != 0) {
rc = zpool_prepare_disk(zhp, vdev, "autoreplace", &lines,
&lines_cnt);
if (rc != 0) {
zed_log_msg(LOG_INFO,
" zpool_prepare_disk: could not "
"prepare '%s' (%s)", fullpath,
libzfs_error_description(g_zfshdl));
"prepare '%s' (%s), path '%s', rc = %d", fullpath,
libzfs_error_description(g_zfshdl), path, rc);
if (lines_cnt > 0) {
zed_log_msg(LOG_INFO,
" zfs_prepare_disk output:");
@@ -446,12 +448,13 @@ zfs_process_add(zpool_handle_t *zhp, nvlist_t *vdev, boolean_t labeled)
* If this is a request to label a whole disk, then attempt to
* write out the label.
*/
if (zpool_prepare_and_label_disk(g_zfshdl, zhp, leafname,
vdev, "autoreplace", &lines, &lines_cnt) != 0) {
rc = zpool_prepare_and_label_disk(g_zfshdl, zhp, leafname,
vdev, "autoreplace", &lines, &lines_cnt);
if (rc != 0) {
zed_log_msg(LOG_WARNING,
" zpool_prepare_and_label_disk: could not "
"label '%s' (%s)", leafname,
libzfs_error_description(g_zfshdl));
"label '%s' (%s), rc = %d", leafname,
libzfs_error_description(g_zfshdl), rc);
if (lines_cnt > 0) {
zed_log_msg(LOG_INFO,
" zfs_prepare_disk output:");
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
@@ -1,4 +1,5 @@
#!/bin/sh
# SPDX-License-Identifier: CDDL-1.0
# shellcheck disable=SC2154
#
# CDDL HEADER START
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of the ZFS Event Daemon (ZED).
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
+2
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -5292,6 +5293,7 @@ zfs_do_receive(int argc, char **argv)
#define ZFS_DELEG_PERM_SHARE "share"
#define ZFS_DELEG_PERM_SEND "send"
#define ZFS_DELEG_PERM_RECEIVE "receive"
#define ZFS_DELEG_PERM_RECEIVE_APPEND "receive:append"
#define ZFS_DELEG_PERM_ALLOW "allow"
#define ZFS_DELEG_PERM_USERPROP "userprop"
#define ZFS_DELEG_PERM_VSCAN "vscan" /* ??? */
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
+1
View File
@@ -1,4 +1,5 @@
#!/usr/bin/env @PYTHON_SHEBANG@
# SPDX-License-Identifier: CDDL-1.0
#
# Print out statistics for all zil stats. This information is
# available through the zil kstat.
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* Gather top-level ZFS pool and resilver/scan statistics and print using
* influxdb line protocol
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
+18 -16
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
@@ -1811,7 +1812,8 @@ ztest_zd_fini(ztest_ds_t *zd)
ztest_rll_destroy(&zd->zd_range_lock[l]);
}
#define TXG_MIGHTWAIT (ztest_random(10) == 0 ? TXG_NOWAIT : TXG_WAIT)
#define DMU_TX_MIGHTWAIT \
(ztest_random(10) == 0 ? DMU_TX_NOWAIT : DMU_TX_WAIT)
static uint64_t
ztest_tx_assign(dmu_tx_t *tx, uint64_t txg_how, const char *tag)
@@ -1825,7 +1827,7 @@ ztest_tx_assign(dmu_tx_t *tx, uint64_t txg_how, const char *tag)
error = dmu_tx_assign(tx, txg_how);
if (error) {
if (error == ERESTART) {
ASSERT3U(txg_how, ==, TXG_NOWAIT);
ASSERT3U(txg_how, ==, DMU_TX_NOWAIT);
dmu_tx_wait(tx);
} else {
ASSERT3U(error, ==, ENOSPC);
@@ -2072,7 +2074,7 @@ ztest_replay_create(void *arg1, void *arg2, boolean_t byteswap)
dmu_tx_hold_bonus(tx, DMU_NEW_OBJECT);
}
txg = ztest_tx_assign(tx, TXG_WAIT, FTAG);
txg = ztest_tx_assign(tx, DMU_TX_WAIT, FTAG);
if (txg == 0)
return (ENOSPC);
@@ -2162,7 +2164,7 @@ ztest_replay_remove(void *arg1, void *arg2, boolean_t byteswap)
dmu_tx_hold_zap(tx, lr->lr_doid, B_FALSE, name);
dmu_tx_hold_free(tx, object, 0, DMU_OBJECT_END);
txg = ztest_tx_assign(tx, TXG_WAIT, FTAG);
txg = ztest_tx_assign(tx, DMU_TX_WAIT, FTAG);
if (txg == 0) {
ztest_object_unlock(zd, object);
return (ENOSPC);
@@ -2244,7 +2246,7 @@ ztest_replay_write(void *arg1, void *arg2, boolean_t byteswap)
P2PHASE(offset, length) == 0)
abuf = dmu_request_arcbuf(db, length);
txg = ztest_tx_assign(tx, TXG_WAIT, FTAG);
txg = ztest_tx_assign(tx, DMU_TX_WAIT, FTAG);
if (txg == 0) {
if (abuf != NULL)
dmu_return_arcbuf(abuf);
@@ -2342,7 +2344,7 @@ ztest_replay_truncate(void *arg1, void *arg2, boolean_t byteswap)
dmu_tx_hold_free(tx, lr->lr_foid, lr->lr_offset, lr->lr_length);
txg = ztest_tx_assign(tx, TXG_WAIT, FTAG);
txg = ztest_tx_assign(tx, DMU_TX_WAIT, FTAG);
if (txg == 0) {
ztest_range_unlock(rl);
ztest_object_unlock(zd, lr->lr_foid);
@@ -2383,7 +2385,7 @@ ztest_replay_setattr(void *arg1, void *arg2, boolean_t byteswap)
tx = dmu_tx_create(os);
dmu_tx_hold_bonus(tx, lr->lr_foid);
txg = ztest_tx_assign(tx, TXG_WAIT, FTAG);
txg = ztest_tx_assign(tx, DMU_TX_WAIT, FTAG);
if (txg == 0) {
dmu_buf_rele(db, FTAG);
ztest_object_unlock(zd, lr->lr_foid);
@@ -2801,7 +2803,7 @@ ztest_prealloc(ztest_ds_t *zd, uint64_t object, uint64_t offset, uint64_t size)
dmu_tx_hold_write(tx, object, offset, size);
txg = ztest_tx_assign(tx, TXG_WAIT, FTAG);
txg = ztest_tx_assign(tx, DMU_TX_WAIT, FTAG);
if (txg != 0) {
dmu_prealloc(os, object, offset, size, tx);
@@ -5169,7 +5171,7 @@ ztest_dmu_read_write(ztest_ds_t *zd, uint64_t id)
/* This accounts for setting the checksum/compression. */
dmu_tx_hold_bonus(tx, bigobj);
txg = ztest_tx_assign(tx, TXG_MIGHTWAIT, FTAG);
txg = ztest_tx_assign(tx, DMU_TX_MIGHTWAIT, FTAG);
if (txg == 0) {
umem_free(packbuf, packsize);
umem_free(bigbuf, bigsize);
@@ -5470,7 +5472,7 @@ ztest_dmu_read_write_zcopy(ztest_ds_t *zd, uint64_t id)
dmu_tx_hold_write(tx, packobj, packoff, packsize);
dmu_tx_hold_write(tx, bigobj, bigoff, bigsize);
txg = ztest_tx_assign(tx, TXG_MIGHTWAIT, FTAG);
txg = ztest_tx_assign(tx, DMU_TX_MIGHTWAIT, FTAG);
if (txg == 0) {
umem_free(packbuf, packsize);
umem_free(bigbuf, bigsize);
@@ -5690,7 +5692,7 @@ ztest_zap(ztest_ds_t *zd, uint64_t id)
*/
tx = dmu_tx_create(os);
dmu_tx_hold_zap(tx, object, B_TRUE, NULL);
txg = ztest_tx_assign(tx, TXG_MIGHTWAIT, FTAG);
txg = ztest_tx_assign(tx, DMU_TX_MIGHTWAIT, FTAG);
if (txg == 0)
goto out;
for (i = 0; i < 2; i++) {
@@ -5758,7 +5760,7 @@ ztest_zap(ztest_ds_t *zd, uint64_t id)
*/
tx = dmu_tx_create(os);
dmu_tx_hold_zap(tx, object, B_TRUE, NULL);
txg = ztest_tx_assign(tx, TXG_MIGHTWAIT, FTAG);
txg = ztest_tx_assign(tx, DMU_TX_MIGHTWAIT, FTAG);
if (txg == 0)
goto out;
@@ -5792,7 +5794,7 @@ ztest_zap(ztest_ds_t *zd, uint64_t id)
tx = dmu_tx_create(os);
dmu_tx_hold_zap(tx, object, B_TRUE, NULL);
txg = ztest_tx_assign(tx, TXG_MIGHTWAIT, FTAG);
txg = ztest_tx_assign(tx, DMU_TX_MIGHTWAIT, FTAG);
if (txg == 0)
goto out;
VERIFY0(zap_remove(os, object, txgname, tx));
@@ -5835,7 +5837,7 @@ ztest_fzap(ztest_ds_t *zd, uint64_t id)
tx = dmu_tx_create(os);
dmu_tx_hold_zap(tx, object, B_TRUE, name);
txg = ztest_tx_assign(tx, TXG_MIGHTWAIT, FTAG);
txg = ztest_tx_assign(tx, DMU_TX_MIGHTWAIT, FTAG);
if (txg == 0)
goto out;
error = zap_add(os, object, name, sizeof (uint64_t), 1,
@@ -5906,7 +5908,7 @@ ztest_zap_parallel(ztest_ds_t *zd, uint64_t id)
if (i >= 2) {
tx = dmu_tx_create(os);
dmu_tx_hold_zap(tx, object, B_TRUE, NULL);
txg = ztest_tx_assign(tx, TXG_MIGHTWAIT, FTAG);
txg = ztest_tx_assign(tx, DMU_TX_MIGHTWAIT, FTAG);
if (txg == 0) {
umem_free(od, sizeof (ztest_od_t));
return;
@@ -6072,7 +6074,7 @@ ztest_dmu_commit_callbacks(ztest_ds_t *zd, uint64_t id)
error = -1;
if (!error)
error = dmu_tx_assign(tx, TXG_NOWAIT);
error = dmu_tx_assign(tx, DMU_TX_NOWAIT);
txg = error ? 0 : dmu_tx_get_txg(tx);
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_code_coverage.html
# ===========================================================================
@@ -0,0 +1,19 @@
dnl #
dnl # SB_DYING exists since Linux 6.6
dnl #
AC_DEFUN([ZFS_AC_KERNEL_SRC_SB_DYING], [
ZFS_LINUX_TEST_SRC([sb_dying], [
#include <linux/fs.h>
],[
(void) SB_DYING;
])
])
AC_DEFUN([ZFS_AC_KERNEL_SB_DYING], [
AC_MSG_CHECKING([whether SB_DYING is defined])
ZFS_LINUX_TEST_RESULT([sb_dying], [
AC_MSG_RESULT(yes)
],[
AC_MSG_RESULT(no)
])
])
+2
View File
@@ -73,6 +73,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [
ZFS_AC_KERNEL_SRC_TRUNCATE_SETSIZE
ZFS_AC_KERNEL_SRC_SECURITY_INODE
ZFS_AC_KERNEL_SRC_FST_MOUNT
ZFS_AC_KERNEL_SRC_SB_DYING
ZFS_AC_KERNEL_SRC_SET_NLINK
ZFS_AC_KERNEL_SRC_SGET
ZFS_AC_KERNEL_SRC_VFS_FILEMAP_DIRTY_FOLIO
@@ -184,6 +185,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [
ZFS_AC_KERNEL_TRUNCATE_SETSIZE
ZFS_AC_KERNEL_SECURITY_INODE
ZFS_AC_KERNEL_FST_MOUNT
ZFS_AC_KERNEL_SB_DYING
ZFS_AC_KERNEL_SET_NLINK
ZFS_AC_KERNEL_SGET
ZFS_AC_KERNEL_VFS_FILEMAP_DIRTY_FOLIO
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* This file is part of OpenZFS.
*
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2015 ClusterHQ
#
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2015 ClusterHQ
#
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2015 ClusterHQ
#
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2015 ClusterHQ
#
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2015 ClusterHQ
#
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2015 ClusterHQ
#
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2015 ClusterHQ
#
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2015 ClusterHQ
#
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2015 ClusterHQ
#
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2015 ClusterHQ
#
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2015 ClusterHQ
#
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2015 ClusterHQ
#
@@ -1,4 +1,5 @@
#!@DEFAULT_INIT_SHELL@
# SPDX-License-Identifier: BSD-2-Clause
# shellcheck disable=SC2154
#
# zfs-import This script will import ZFS pools
@@ -1,4 +1,5 @@
#!@DEFAULT_INIT_SHELL@
# SPDX-License-Identifier: BSD-2-Clause
# shellcheck disable=SC2154
#
# zfs-load-key This script will load/unload the zfs filesystems keys.
@@ -1,4 +1,5 @@
#!@DEFAULT_INIT_SHELL@
# SPDX-License-Identifier: BSD-2-Clause
# shellcheck disable=SC2154
#
# zfs-mount This script will mount/umount the zfs filesystems.
@@ -1,4 +1,5 @@
#!@DEFAULT_INIT_SHELL@
# SPDX-License-Identifier: BSD-2-Clause
# shellcheck disable=SC2154
#
# zfs-share This script will network share zfs filesystems and volumes.
@@ -1,4 +1,5 @@
#!@DEFAULT_INIT_SHELL@
# SPDX-License-Identifier: BSD-2-Clause
# shellcheck disable=SC2154
#
# zfs-zed
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: MIT
/*
* Copyright (c) 2017 Antonio Russo <antonio.e.russo@gmail.com>
* Copyright (c) 2020 InsanePrawn <insane.prawny@gmail.com>
@@ -1,3 +1,4 @@
# SPDX-License-Identifier: BSD-2-Clause
# This is a script with common functions etc used by zfs-import, zfs-load-key,
# zfs-mount, zfs-share and zfs-zed.
#
+2
View File
@@ -1,3 +1,5 @@
// SPDX-License-Identifier: MIT
//
// Copyright (c) 2011 Google, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
+1
View File
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: CDDL-1.0
/*
* CDDL HEADER START
*
Loaded 100 of 3270 files, more files were not shown because too many files have changed in this diff. Show more