OpenZFS release 2.2.3
Notable upstream pull request merges:
#154282a59b6bfa ABD: Be more assertive in iterators
#15486c34fe8dcb Update the kstat dataset_name when renaming a zvol
#15495f13593619 FreeBSD: Optimize large kstat outputs
#15517ad47eca19 ZIL: Assert record sizes in different places
#155192e259c6f0 L2ARC: Restrict write size to 1/4 of the device
#15544121924575 Allow block cloning across encrypted datasets
#15553e48195c81 ZIO: Add overflow checks for linear buffers
#156123b8f22736 ZIL: Remove TX_CLONE_RANGE replay for ZVOLs
#15617e11b3eb1c ZIL: Do not clone blocks from the future
#15625e09356fa0 BRT: Limit brt_vdev_dump() to only one vdev
#15629dea2d3c6c zdb: Dump encrypted write and clone ZIL records
#156303425484eb Fix file descriptor leak on pool import
#156341e1d748ca ZIL: Remove 128K into 2x68K LWB split optimization
#15644b13c91bb2 DMU: Fix lock leak on dbuf_hold() error
#15653a701548eb dbuf: Handle arcbuf assignment after block cloning
#156569c40ae021 dbuf: Set dr_data when unoverriding after clone
#156604db88c37c fix(mount): do not truncate shares not zfs mount
#15665c0c4866f8 dmu: Allow buffer fills to fail
#15675db2db50e3 spa: make read/write queues configurable
#15677f71c16a66 Don't panic on unencrypted block in encrypted dataset
#157199181e94f0 spa: Fix FreeBSD sysctl handlers
#15719a00231a3f spa: Let spa_taskq_param_get()'s addition of a newline be optional
#157214d4972ed9 Stop wasting time on malloc in snprintf_zstd_header
#157267bccf98a7 Make zdb -R scale less poorly
#15732ac592318b Fix livelist assertions for dedup and cloning
#15735152a775ea Improve block sizes checks during cloning
#1573752cee9a3e fix: Uber block label not always found for aux vdevs
#15737eb4a36bce Extend aux label to add path information
#15737a2e71db66 Add path handling for aux vdevs in `label_path`
#157472006ac1f4 Fix "out of memory" error
#157528b1c6db3d Fix a potential use-after-free in zfs_setsecattr()
#1576940e20d808 Add 'zpool status -e' flag to see unhealthy vdevs
#15772ef527958c Fix cloning into mmaped and cached file
#1578009a796136 FreeBSD: Fix bootstrapping tools under Linux/musl
#1578107cf973fe Autotrim High Load Average Fix
#15783c1161e285 fix: variable type with zfs-tests/cmd/clonefile.c
#15816dd3a0a271 Update vdev devid and physpath if changed between imports
#15818ab653603f Don't assert mg_initialized due to device addition race
#15823acc7cd8e9 Update man pages to time(1) from time(2)
#158250606ce205 zpool wait: print timestamp before the header
#15847d22bf6a9b LUA: Backport CVE-2020-24370's patch
#1586436116b461 zfs list: add '-t fs' and '-t vol' options
#15874fc3d34bd0 BRT: Fix slop space calculation with block cloning
#15882a4978d260 zdb: Fix false leak report for BRT objects
Obtained from: OpenZFS
OpenZFS commit: c883088df8
OpenZFS tag: zfs-2.2.3
Add the logic to conditionally enable PM for iwlwifi.
This should help suspend/resume in the future.
For now leave it disabled until other preconditional problems are
sorted.
Sponsored by: The FreeBSD Foundation (2023)
Reviewed by: cc
Differential Revision: https://reviews.freebsd.org/D43647
(cherry picked from commit 8f7c32a41a6a6d88e36ce2f588489274193c2c9a)
The iwlwifi driver already supports the chipset as "Bz TBD"
(also in 14.0). Add the firmware for it. Successfully tested
for 0x8086/0x272b/0x8086/0x00f4 on arm64 thanks to donated
hardware [1].
Firmware was obtained from linux-firmware at
9552083a783e5e48b90de674d4e3bf23bb855ab0 .
Sponsored by: The FreeBSD Foundation
Sponsored by: Martin Hoehne / minipci.biz (B200 card) [1]
MFC after: 3 days
(cherry picked from commit b647615ede46af66cd0c8bd5a321d4a2cccdabe0)
[Why]
`linux_compat.c` is already too long. I will need to add `struct kset`
in a follow-up commit, so let's move the existing `struct kobject` code
to its own file.
Reviewed by: manu
Approved by: manu
Differential Revision: https://reviews.freebsd.org/D43019
(cherry picked from commit 80446fc7b5e5d22e2bac28bc0474dbe2fec83e43)
Update 25xx firmware: version 8.8.207
Add 26xx firmware: version 8.8.231
Add 27xx firmware: version 9.12.0
Add 28xx firmware: version 9.12.1
Remove BUGS section from manpage as we now have firmware for
all supported controllers.
PR: 273263
MFC after: 1 month
Pull Request: https://github.com/freebsd/freebsd-src/pull/877
Sponsored by: Technical University of Munich
(cherry picked from commit b0c6b06836351b3908ba5b2a847c89c42d1a46c3)
Now that kldxref is a generic cross tool and can be built on non-FreeBSD
we can bootstrap it during the build and thus remove the condition for
whether it exists. We also need to make sure to add it to the METALOG
for -DNO_ROOT builds.
Reviewed by: brooks, imp
Differential Revision: https://reviews.freebsd.org/D43051
(cherry picked from commit ff7c12c1f17e52337169d8ce48433fae96a9c9db)
The last MIPS user has been removed in c09981f1 2 years ago, the last
ARM one in 58d5c511 even 5.5 years ago.
(cherry picked from commit 03e8d25b1f9218dcd52d13819dda14dbbaf622b7)
Put same copyright header as tcp_hpts.c has, since all this code
was developed by Randall Stewart <rrs@FreeBSD.org> as a part of
the HPTS work. Also copy Mellanox copyright from tcp_lro.c as
Hans Petter Selasky also participated in restructuring the code.
Reviewed by: imp, tuexen, rrs
Differential Revision: https://reviews.freebsd.org/D42854
(cherry picked from commit 4f9c93f16c30d553613def0442d8ddbee859e76b)
It is important to instantly load tcp_rack.ko and tcp_bbr.ko
Reviewed by: tuexen, imp
Differential Revision: https://reviews.freebsd.org/D42697
(cherry picked from commit f9030650185622d7cf8a7c81c4b3a3763539de24)
While here, drop the EXTRA_TCP_STACKS option, which serves no purpose and
should never have been added. Instead, build bbr and rack as long as
either or both of INET and INET6 is enabled. There is no risk to anyone
who doesn't load one or both and then twiddle the relevant sysctls.
Differential Revision: https://reviews.freebsd.org/D42088
(cherry picked from commit 3a338c534154164504005beb00a3c6feb03756cc)
Some of the files are using outdated linceses.
Update the license to be 2023.
Approved by: cperciva (mentor)
MFC after: 2 weeks
Sponsored by: Amazon, Inc.
(cherry picked from commit 246aa273244e91a30d70997a3be790a29f9eb29c)
Version : 1.27.5.0
Date : 10/10/2023
=====================
Fixes
-----
BASE:
- Fixed handling the Remote Fault with AN, causing the link failure.
=====================
Obtained from: Chelsio Communications
Sponsored by: Chelsio Communications
(cherry picked from commit b1e82d33193b83d86d46483b4ddfe295becd80c4)
During recent testing related to the IETF NFSv4 Bakeathon, it was
discovered that Kerberized NFSv4.1/4.2 mounts to pNFS servers
(sec=krb5[ip],pnfs mount options) was broken.
The FreeBSD client was using the "service principal" for
the MDS to try and establish a rpcsec_gss credential for a DS,
which is incorrect. (A "service principal" looks like
"nfs@<fqdn-of-server>" and the <fqdn-of-server> for the DS is not
the same as the MDS for most pNFS servers.)
To fix this, the rpcsec_gss code needs to be able to do a
reverse DNS lookup of the DS's IP address. A new kgssapi upcall
to the gssd(8) daemon is added by this patch to do the reverse DNS
along with a new rpcsec_gss function to generate the "service
principal".
A separate patch to the gssd(8) will be committed, so that this
patch will fix the problem. Without the gssd(8) patch, the new
upcall fails and current/incorrect behaviour remains.
This bug only affects the rare case of a Kerberized (sec=krb5[ip],pnfs)
mount using pNFS.
This patch changes the internal KAPI between the kgssapi and
nfscl modules, but since I did a version bump a few days ago,
I will not do one this time.
(cherry picked from commit dd7d42a1fae5a4879b62689a165238082421f343)
OpenZFS release 2.2.2
Notable upstream pull request merges:
#15532e4985bf5a zdb: Fix zdb '-O|-r' options with -e/exported zpool
#1553389fcb8c6f Revert "Tune zio buffer caches and their alignments"
#15541d702f86ea brt: lift internal definitions into _impl header
#1554356a2a0981 ZIL: Do not encrypt block pointers in lr_clone_range_t
#15551349fb77f1 FreeBSD: Fix the build on FreeBSD 12
#15563522414da3 FreeBSD: Fix ZFS so that snapshots under .zfs/snapshot are
NFS visible
#155662a953e0ac dmu_buf_will_clone: fix race in transition back to NOFILL
#155719b9b09f45 dnode_is_dirty: check dnode and its data for dirtiness
#15603a8c256046 ZIL: Call brt_pending_add() replaying TX_CLONE_RANGE
Obtained from: OpenZFS
OpenZFS commit: 494aaaed89
OpenZFS tag: zfs-2.2.2
OpenZFS release 2.2.1
Notable upstream pull request merges:
#143786d693e20a Large sync writes perform worse with slog
#1524378fd79eac Add zfs_prepare_disk script for disk firmware install
#15356b76724ae4 FreeBSD: Improve taskq wrapper
#15360f9a9aea12 Add mutex_enter_interruptible() for interruptible
sleeping IOCTLs
#15371e82e68400 DMU: Do not pre-read holes during write
#1539079f7de575 Remove lock from dsl_pool_need_dirty_delay()
#153976e41aca51 Trust ARC_BUF_SHARED() more
#15402eaa62d995 Properly pad struct tx_cpu to cache line
#154051cc1bf4fa Set spa_ccw_fail_time=0 when expanding a vdev
#15416edebca5df FreeBSD: taskq: Remove unused declaration
#154517aef672b7 Read prefetched buffers from L2ARC
#15452bd7a02c25 Tune zio buffer caches and their alignments
#154563ec4ea68d Unify arc_prune_async() code
#15465459c99ff2 Fix block cloning between unencrypted and encrypted
datasets
#1547876663fe37 Fix accounting error for pending sync IO ops in zpool
iostat
#1552987e9e8286 Add a tunable to disable BRT support
Obtained from: OpenZFS
OpenZFS commit: 55dd24c4cc
OpenZFS tag: zfs-2.2.1
There's no symbol named 'mac_veriexec_get_executable_flags', the right
one should be the function 'mac_veriexec_metadata_get_executable_flags()'.
Reviewed by: stevek
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D42133
(cherry picked from commit f34c9c4e3bdc2b8bffae4ac26897e0e847e9f76f)
This is a simple RTC driver for the rv3032 from Microcrystal.
Just the basic functionality is implemented (no timer, alarm etc ..).
Sponsored by: Beckhoff Automation GmbH & Co. KG
Differential Revision: https://reviews.freebsd.org/D41995
(cherry picked from commit 1d6a6a524409662992ca96bc91ae69b2a2a5ff35)
No reason that they should live directly under iicbus
Sponsored by: Beckhoff Automation GmbH & Co. KG
Differential Revision: https://reviews.freebsd.org/D41913
(cherry picked from commit 7c569caa0a6fffa7e1cc0a7f61e986dbc7c59074)
No reason that they should live directly under iicbus
Sponsored by: Beckhoff Automation GmbH & Co. KG
Differential Revision: https://reviews.freebsd.org/D41911
(cherry picked from commit 06589d6e029c6ff64a7816d743e0a508abe6193b)
No reason that they should live directly under iicbus
Sponsored by: Beckhoff Automation GmbH & Co. KG
Differential Revision: https://reviews.freebsd.org/D41908
(cherry picked from commit 2f16049c985a364e2bd2b256f5bef9af17e10c62)
Move the NETLINK define into opt_global.h so we can rely on it being
set correctly, without having to remember to include opt_netlink.h.
This ensures that the NETLINK define is correctly set. If not we
may end up with unloadable modules, due to missing symbols (such as
nlmsg_get_group_writer).
PR: 274306
Reviewed by: imp, markj
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D42179
(cherry picked from commit ab393e9548f8cc0ee28499c411963b798ebb38a5)
Notable upstream pull request merges:
#1529033d7c2d16 import: require force when cachefile hostid doesn't
match on-disk
#15319bcd010d3a Reduce number of metaslab preload taskq threads
#153391611b8e56 Add BTI landing pads to the AArch64 SHA2 assembly
#15340bc77a0c85 ARC: Remove b_cv from struct l1arc_buf_hdr
#153473158b5d71 ARC: Drop different size headers for crypto
#15350ba7797c8d ARC: Remove b_bufcnt/b_ebufcnt from ARC headers
#153539be8ddfb3 ZIL: Reduce maximum size of WR_COPIED to 7.5K
#153628495536f7 zfsconcepts: add description of block cloning
Obtained from: OpenZFS
OpenZFS commit: 2407f30bda
OpenZFS tag: zfs-2.2.0-rc5
While the build-breaking changes were only in a smaller window
further updates restored some functionality as well. Now that
we are done, add iwlwifi back to the build.
Sponsored by: The FreeBSD Foundation
This also adds the (updated) rtw88 driver back to the build.
Functionality has not been tested (much) so might not currently
work but people offered to test.
(cherry picked from commit af6aaa90057d75644c41527acc903082104e4114)
(cherry picked from commit 299e2d5724c2bc4929b6eac3258f04055e97992e)
Firmware was obtained from linux-firmware at
dfa11466cf000120d1551146fd5bf78c44941eda.
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 027768a21217499dd85aba8608715a5bf66a7857)
This is a combined versions of updates of the iwlwifi driver based
on wireless-testing
(wt-2023-05-11) 711dca0ca3d77414f8f346e564e9c8640147f40d (after v6.4-rc1).
(wt-2023-06-09) 7bd20e011626ccc3ad53e57873452b1716fcfaaa (after v6.4-rc5).
(wt-2023-07-24) 62e409149b62a285e89018e49b2e115757fb9022 (after v6.5-rc3).
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 9af1bba44e1ce9b0296ae56760b564d67ab7a1cf)
Disconnect iwlwifi/rtw88 from the build for a few commits which, due to
incompatible LinuxKPI 802.11 changes would break the build for a
revision. It will be re-enabled "instantly".
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 712468443df1130db8f893a5e2ce5c6a8dbf5cde)
(cherry picked from commit b75d1ce6c10652fc4bfbf509deeae0e05c3d1356)
Notable upstream pull request merges:
#15240e9dc31c74 Update the behavior of mountpoint property
#15240c53bc3837 Improve the handling of sharesmb,sharenfs properties
#152980ce1b2ca1 Invoke zdb by guid to avoid import errors
#153010aabd6b48 ZIL: Avoid dbuf_read() in ztest_get_data()
#15308 9e36c576f Don't allocate from new metaslabs
#15312229ca7d73 Fix ENOSPC for extended quota
#153213079bf2e6 Restrict short block cloning requests
#153228015e2ea6 Add '-u' - nomount flag for zfs set
#15324b34bf2d5f Tweak rebuild in-flight hard limit
#15331608741d06 Report ashift of L2ARC devices in zdb
#153330d870a177 Fix invalid pointer access in trace_dbuf.h
Obtained from: OpenZFS
OpenZFS commit: 8015e2ea66
This is intended to be used with the upcoming updated ice(4) version
1.38.16-k.
Signed-off-by: Eric Joyner <erj@FreeBSD.org>
Sponsored by: Intel Corporation
(cherry picked from commit e04c4b4a369df3f1dcbebbdf726193f02af60801)
Notable upstream pull request merges:
#15024 Add missed DMU_PROJECTUSED_OBJECT prefetch
#15029 Do not request data L1 buffers on scan prefetch
#15036 FreeBSD: catch up to __FreeBSD_version 1400093
#15039 Fix raw receive with different indirect block size
#15047 FreeBSD: Fix build on stable/13 after 1302506
#15049 Fix the ZFS checksum error histograms with larger record sizes
#15052 Reduce bloat in ereport.fs.zfs.checksum events
#15056 Avoid extra snprintf() in dsl_deadlist_merge()
#15061 Ignore pool ashift property during vdev attachment
#15063 Don't panic if setting vdev properties is unsupported for this
vdev type
#15067 spa_min_alloc should be GCD, not min
#15071 Add explicit prefetches to bpobj_iterate()
#15072 Adjust prefetch parameters
#15079 set autotrim default to 'off' everywhere
#15080 ZIL: Fix config lock deadlock
#15088 metaslab: tuneable to better control force ganging
#15096 Avoid waiting in dmu_sync_late_arrival()
#15097 BRT should return EOPNOTSUPP
#15103 Remove zl_issuer_lock from zil_suspend()
#15107 Remove fastwrite mechanism
#15113 libzfs: sendrecv: send_progress_thread: handle SIGINFO/SIGUSR1
#15122 ZIL: Second attempt to reduce scope of zl_issuer_lock
#15129 zpool_vdev_remove() should handle EALREADY error return
#15132 ZIL: Replay blocks without next block pointer
#15148 zfs_clone_range should return descriptive error codes
#15153 ZIL: Avoid dbuf_read() before dmu_sync()
#15161 Make zoned/jailed zfsprops(7) make more sense
#15172 copy_file_range: fix fallback when source create on same txg
#15180 Update outdated assertion from zio_write_compress
#15216 Relax error reporting in zpool import and zpool split
#15227 ZIL: Tune some assertions
#15228 ZIL: Revert zl_lock scope reduction
#15233 ZIL: Change ZIOs issue order
Obtained from: OpenZFS
OpenZFS commit: 32949f2560
Approved by: re (gjb)
This updates the smartpqi driver to Microsemi's latest code. This will
be the driver for FreeBSD 14 (with updates), but no MFC is planned.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D41550
This is a set of updates of the rtw89 driver based on wireless-testing
(wt-2023-05-11) 711dca0ca3d77414f8f346e564e9c8640147f40d (after v6.4-rc1).
(wt-2023-06-09) 7bd20e011626ccc3ad53e57873452b1716fcfaaa (after v6.4-rc5).
(wt-2023-07-24) 62e409149b62a285e89018e49b2e115757fb9022 (after v6.5-rc3).
(wt-2023-08-06) 2a220a15be657a24868368892e3e2caba2115283 (after v6.5-rc4).
(wt-2023-08-13) 81e147b1317ee7cde8b624ee8c0501b470d7e91c (after v6.5-rc5).
MFC after: 20 days
This is a set of updates of the mt76 driver based on wireless-testing
(wt-2023-05-11) 711dca0ca3d77414f8f346e564e9c8640147f40d (after v6.4-rc1),
This adds support for mt7996 as well.
(wt-2023-06-09) 7bd20e011626ccc3ad53e57873452b1716fcfaaa (after v6.4-rc5),
(wt-2023-07-24) 62e409149b62a285e89018e49b2e115757fb9022 (after v6.5-rc3),
(wt-2023-08-06) 2a220a15be657a24868368892e3e2caba2115283 (after v6.5-rc4).
The current version of LinuxKPI lacks support for "page pool" which
needs enhancing and updating a decade or so old shortcut mapping
struct page directly to struct vm_page.
MFC after: 20 days
Import BSD-3-Clause-Clear ath12k driver based on wireless-testing
(wt-2023-05-11) 711dca0ca3d77414f8f346e564e9c8640147f40d (after v6.4-rc1)
with further updates based on
(wt-2023-06-09) 7bd20e011626ccc3ad53e57873452b1716fcfaaa (after v6.4-rc5),
(wt-2023-07-24) 62e409149b62a285e89018e49b2e115757fb9022 (after v6.5-rc3),
(wt-2023-08-06) 2a220a15be657a24868368892e3e2caba2115283 (after v6.5-rc4),
(wt-2023-08-13) 81e147b1317ee7cde8b624ee8c0501b470d7e91c (after v6.5-rc5).
Complement the driver to make compile on FreeBSD
using LinuxKPI with changes covered by #ifdef (__FreeBSD__).
Add the module build framework but keep disconnected from the
build for now.
The current driver (or rather LinuxKPI) lacks support for some
"qcom" bits needed in order to get things working (as does ath11k).
There was interest by various people to enhance support further
for ath11k which will equally benefit ath12k.
Given the lack of full license texts on the files this is
imported under the draft policy for handling SPDX files (D29226)
and with approval for BSD-3-Clause-Clear. [1]
Approved by: core (jhb, 2023-05-11) [1]
MFC after: 20 days
This is a set of updates of the ath11k driver based on wireless-testing
(wt-2023-05-11) 711dca0ca3d77414f8f346e564e9c8640147f40d (after v6.4-rc1),
(wt-2023-06-09) 7bd20e011626ccc3ad53e57873452b1716fcfaaa (after v6.4-rc5),
(wt-2023-07-24) 62e409149b62a285e89018e49b2e115757fb9022 (after v6.5-rc3),
(wt-2023-08-06) 2a220a15be657a24868368892e3e2caba2115283 (after v6.5-rc4).
MFC after: 20 days
The driver provides support for Human Interface Devices (HID) on
Serial Peripheral Interface (SPI) buses on Apple Intel Macs
produced in 2015-2018.
The driver appears to work more stable after installation of Darwin OSI
in acpi(4) driver.
To install Darwin OSI insert following lines into /boot/loader.conf:
hw.acpi.install_interface="Darwin"
hw.acpi.remove_interface="Windows 2009, Windows 2012"
Reviewed by: wulf
Differential revision: https://reviews.freebsd.org/D39863
Each channel gets its own DMA resources, cleanup and "bufferpool"
tasks, and a separate cleanup taskqueue to isolate channels operation
as much as possible to avoid various kernel panics under heavy network
load.
As a side-effect of this work, dpaa2_buf structure is simplified and
all of the functions to re-seed those buffers are gathered now in
dpaa2_buf.h and .c files; functions to work with channels are
extracted into dpaa2_channel.h and .c files as well.
Reported by: dch
Reviewed by: bz
Approved by: bz (mentor)
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D41296
This basic version of the driver obtains properties of the "sff,sfp"
compatible devices and implements a simple interface to provide an I2C
bus device for the rest of the drivers (e.g. to implement SIOCGI2C).
Both of the interface and driver are subjects for a further
generalization to be used in case of non-FDT and non-arm64 platforms.
Reviewed by: bz, manu
Approved by: bz (mentor)
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D41440