This way we can avoid making assumptions about the SDT probe
implementation. No functional change intended.
This was submitted upstream as https://github.com/openzfs/zfs/pull/16284
MFC after: 1 week
Upstream added the libspl_gettid implementation for macOS and when
merging back to FreeBSD this resulted in two copies of the same code.
Delete this second copy, restoring the file to be the same as upstream.
Fixes: aca928a50a ("zfs: merge openzfs/zfs@e2357561b")
Notable upstream pull request merges:
#1594041ae864b6 Replace P2ALIGN with P2ALIGN_TYPED and delete P2ALIGN
#161285137c132a zpool import output is not formated properly
#16138efbef9e6c FreeBSD: Add zfs_link_create() error handling
#1614604bae5ec9 Disable high priority ZIO threads on FreeBSD and Linux
#16151cc3869153 zfs_ioc_send: use a dedicated taskq thread for send
#16151adda768e3 spa: remove spa_taskq_dispatch_sync()
#16151515c4dd21 spa: flatten spa_taskq_dispatch_ent()
#161510a543db37 spa_taskq_dispatch_ent: simplify arguments
#16153975a13259 Add support for parallel pool exports
#1615389acef992 Simplified the scope of the namespace lock
#16159136c05321 ZAP: Fix leaf references on zap_expand_leaf() errors
#16162af5dbed31 Fix scn_queue races on very old pools
#161653400127a7 Fix ZIL clone records for legacy holes
#16167414acbd37 Unbreak FreeBSD cross-build on MacOS broken in 051460b8b#16172eced2e2f1 libzfs: Fix mounting datasets under thread limit pressure
#16178b64afa41d Better control the thread pool size when mounting datasets
#16181fa99d9cd9 zfs_dbgmsg_print: make FreeBSD and Linux consistent
#16191e675852bc dbuf: separate refcount calls for dbuf and dbuf_user
#16198a043b60f1 Correct level handling in zstream recompress
#1620434906f8bb zap: reuse zap_leaf_t on dbuf reuse after shrink
#16206d0aa9dbcc Use memset to zero stack allocations containing unions
#162078865dfbca Fix assertion in Persistent L2ARC
#1620808648cf0d Allow block cloning to be interrupted by a signal
#16210e2357561b FreeBSD: Add const qualifier to members of struct
opensolaris_utsname
#16214800d59d57 Some improvements to metaslabs eviction
#1621602c5aa9b0 Destroy ARC buffer in case of fill error
#1622501c8efdd5 Simplify issig()
Obtained from: OpenZFS
OpenZFS commit: e2357561b9
da76d34 repurposed the use of UMA_MD_SMALL_ALLOC in a way that breaks
arc_available_memory on -CURRENT. This change ensures that
arc_available_memory uses the new symbol while maintaining compatibility
with older FreeBSD releases. This change was submitted to upstream
as well.
Approved by: markj (mentor)
Fixes: da76d34
Code for pools before version 11 uses dmu_objset_find_dp() to scan
for children datasets/clones. It calls enqueue_clones_cb() and
enqueue_cb() callbacks in parallel from multiple taskq threads.
It ends up bad for scan_ds_queue_insert(), corrupting scn_queue
AVL-tree. Fix it by introducing a mutex to protect those two
scan_ds_queue_insert() calls. All other calls are done from the
sync thread and so serialized.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #16162
PR: 278414
On 32-bit platforms long long is generally 64-bits. Sufficiently modern
versions of gcc (13 in my testing) complains when casting a pointer to
an integer of a different width so cast to uintptr_t first to avoid the
warning.
Fix i386 gcc builds while we wait for this to be merged to OpenZFS.
Sponsored by: DARPA, AFRL
Pull Request: https://github.com/openzfs/zfs/pull/16203
Notable upstream pull request merges:
#15839c3f2f1aa2 vdev probe to slow disk can stall mmp write checker
#158885044c4e3f Fast Dedup: ZAP Shrinking
#15996db499e68f Overflowing refreservation is bad
#1611867d13998b Make more taskq parameters writable
#1612821bc066ec Fix updating the zvol_htable when renaming a zvol
#16130645b83307 Improve write issue taskqs utilization
#161318fd3a5d02 Slightly improve dnode hash
#16134a6edc0adb zio: try to execute TYPE_NULL ZIOs on the current task
#16141b28461b7c Fix arcstats for FreeBSD after zfetch support
Obtained from: OpenZFS
OpenZFS commit: 8f1b7a6fa6
Summary:
In ar9300_eeprom_read_word() also allow JUPITER cards read the eeprom
instead of returning an error. While this will not help all the
9462, 9485, 9565 OEM cards to work, it will make debugging of the
next steps a lot easier.
While here fix a typo in the error message if we do not get CAL.
PR: 255337
Tested by: John Nielsen (john jnielsen net)
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D44328
This is intended to be used with the upcoming ice 1.39.13-k
driver update, but is still backwards compatible with
previous versions of the driver.
Signed-off-by: Eric Joyner <erj@FreeBSD.org>
MFC after: 3 days
Sponsored by: Intel Corporation
The LIT_MEM option uses slightly more memory (for base gzip(1),
about 16kiB; according to the author, about 6% for default deflate
settings) for a small speedup.
The performance gain is more noticeable for input data with higher
entropy and less significant for data that is highly compressible,
such as source code and logs.
MFC after: 1 month
In case we cannot identify the firmware monitor buf_location,
print the type (usually 0 = invalid) so we have an idea at least
of what was set (or not).
MFC after: 3 days
This is a backport of upstream commit d1e9f03b89:
ck_pr/aarch64: Specify output operands for ck_pr_md_store_*
As in commit 2f9acab, we want to specify output operand widths so that
MSAN compiler instrumentation correctly updates the shadow map. In
particular, LLVM's implementation depends on having type information for
output operands, even when that's not otherwise necessary. Without it,
KMSAN in FreeBSD generates false positives on aarch64.
Reviewed by: cognet
MFC after: 2 weeks
Sponsored by: Klara, Inc.
Sponsored by: Juniper Networks, Inc.
I merged in the limits.h include. I should have resolved this by
deleting it (since we have no easy way to 'fix' it with compat headers).
GENERIC doesn't bring in the debugger, but LINT does...
Sponsored by: Netflix
Merge tracking branch 'vendor/acpica' for vendor/acpica/20230628, and
resolve conflicts.
This deletes files that we've deleted since the last merge (during SVN
times it seems) so future merges don't bring them up.
It resolves conflicts in several files that we have modified (but we can
likely fix the build system so we don't have to modify them since it's
almost all headers) and one ifndef kernel that could be solved with an
empty #define.
It also deletes new files in the platform directory that are similar to
prior non-freebsd platform files we've deleted.
The net delta: +1 line.
Sponsored by: Netflix
struct iwl_mvm_wep_key_cmd ends in a variable sized array but later
is included in another struct followed by the actual
struct iwl_mvm_wep_key in d3.c. Make the array[0] instead of []
to avoid the warning about it being a GNU-extension.
Also include string.h explicitly for memset_after().
MFC after: 3 days
Reviewed by: cc
Differential Revision: https://reviews.freebsd.org/D43647
Notable upstream pull request merges:
#15793401c3563d libzfs: use zfs_strerror() in place of strerror()
#15793692f0daba libzfs: make userquota_propname_decode threadsafe
#157980cbf13529 libnvpair.c: replace strstr() with strchr() for a single
character
#1581278e8c1f84 Remove list_size struct member from list implementation
#15816aeb33776f Update vdev devid and physpath if changed between imports
#158188161b7327 Don't assert mg_initialized due to device addition race
#15823c3fd7a521 Update man pages to time(1) from time(2)
#15825884a48d99 zpool wait: print timestamp before the header
Obtained from: OpenZFS
OpenZFS commit: 2e6b3c4d94
Notable upstream pull request merges:
#1566066670ba9f fix(mount): do not truncate shares not zfs mount
#157193bddc4dae spa: Fix FreeBSD sysctl handlers (already merged)
#157195a703d136 spa: Let spa_taskq_param_get()'s addition of a newline
be optional
#157216138af86b Stop wasting time on malloc in snprintf_zstd_header
#157231f5bf9600 Make zdb -R a little more sane.
#1572620dd16d9f Make zdb -R scale less poorly
#15737d9885b377 fix: Uber block label not always found for aux vdevs
#157372df2a58dc Extend aux label to add path information
#15737b64be1624 Add path handling for aux vdevs in `label_path`
#15747a1771d243 Fix "out of memory" error
#157521a11ad9d2 Fix a potential use-after-free in zfs_setsecattr()
#15772f45dd90f3 Fix cloning into mmaped and cached file
#157811494e8fba Autotrim High Load Average Fix
Obtained from: OpenZFS
OpenZFS commit: a0b2a93c41
Both drivers are not yet attached to the build so this change is
for people currently trying them out.
In 96ab16ebab the sys/rman.h include
was removed. In various wireless drivers we prefer to directly use
bus_dma functions rather than io* LinuxKPI once. In order to cast
the pointer we need sys/rman.h back for our native 'struct resource'
in their pci.c implementations.
Long-term we should consider providing some lkpi_-FreeBSD-specific
wrapper functions to avoid this problem.
MFC after: 3 days
Improve log messages to be more helpful in error cases.
Change one LinuxKPI sleep function as we cannot call the original
one from a context we cannot sleep.
Both cases were hit during testing.
MFC after: 3 days
sbuf_cpy() resets the sbuf state, which is wrong for sbufs allocated by
sbuf_new_for_sysctl(). In particular, this code triggers an assertion
failure in sbuf_clear().
Simplify by just using sysctl_handle_string() for both reading and
setting the tunable.
Apply to FreeBSD directly since this bug causes "sysctl -a" to crash the
kernel.
PR: 276039
Reported by: pho
Reviewed by: mav
Pull Request: https://github.com/openzfs/zfs/pull/15719
sys/rman.h defines `resource` structure which conflicts with the Linux
structure of the same name. To fix that remove reference to sys/rman.h
from linux/pci.h and move resource management code to linux_pci.c.
Update consumers which were depending on linux/pci.h pollution.
No functional changes intended.
Sponsored by: Serenity Cyber Security, LLC
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D42792
Notable upstream pull request merges:
#15643a9b937e06 For db_marker inherit the db pointer for AVL comparision
#15644e53e60c0b DMU: Fix lock leak on dbuf_hold() error
#1565386063d903 dbuf: Handle arcbuf assignment after block cloning
#1565686e115e21 dbuf: Set dr_data when unoverriding after clone
Obtained from: OpenZFS
OpenZFS commit: 86e115e21e
#15539687e4d7f9 Extend import_progress kstat with a notes field
#15544c7b611926 Allow block cloning across encrypted datasets
#15553adcea23cb ZIO: Add overflow checks for linear buffers
#155935f2700eee zpool: flush output before sleeping
#156093e4bef52b Only provide execvpe(3) when needed
#15610735ba3a7b Use uint64_t instead of u_int64_t
#15612bcd83ccd2 ZIL: Remove TX_CLONE_RANGE replay for ZVOLs
#1561755b764e06 ZIL: Do not clone blocks from the future
#15623727497ccd module/icp/asm-arm/sha2: enable non-SIMD asm kernels
on armv5/6
#156259743d0963 BRT: Limit brt_vdev_dump() to only one vdev
#15629f9765b182 zdb: Dump encrypted write and clone ZIL records
#156342aa3a482a ZIL: Remove 128K into 2x68K LWB split optimization
#1563911656234b FreeBSD: Ensure that zfs_getattr() initializes the
va_rdev field
#156474836d293c zfs_refcount_remove: explictly ignore returns
#15649f0cb6482e setproctitle: fix ununitialised variable
#15650450f2d0b0 import: ignore return on hostid lookups
Obtained from: OpenZFS
OpenZFS commit: 450f2d0b08
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