| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For kernel builds, we redefine `__printf__` to `__freebsd_kprintf__`, to
support FreeBSD kernel printf(9) extensions with clang.
In OpenZFS various printf related functions are declared with
__attribute__((format(printf, X, Y))), so these won't work with the
above redefinition. With clang 21 and higher, this leads to errors
similar to:
sys/contrib/openzfs/module/zfs/spa_misc.c:414:38: error: passing 'printf' format string where 'freebsd_kprintf' format string is expected [-Werror,-Wformat]
414 | (void) vsnprintf(buf, sizeof (buf), fmt, adx);
| ^
Since attribute names can always be spelled with leading and trailing
double underscores, rename these instances.
Note that in FreeBSD proper we usually use `__printflike` from
<sys/cdefs.h>, but that does not apply to OpenZFS.
Reviewed by: emaste
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D54388
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#16307 1d43387dd zdb: Add -O option for -r to specify object-id
#17965 a62c62120 ARC: Pre-convert zfs_arc_min_prefetch_ms
#17970 d393166c5 ARC: Increase parallel eviction batching
#17981 20f09eae4 ZIO: ZIO_STAGE_DDT_WRITE is a blocking stage
#17983 ff47dd35e Fix ddtprune causing space leak
#18015 86b064469 FreeBSD: Fix a potential null dereference
in zfs_freebsd_fsync() (already merged)
#18020 ff47dd35e Ensure 64-bit `off_t` is used in user space
instead of `loff_t`
#18028 09492e0f2 Reduce dataset buffers re-dirtying
#18033 f72fd378c Defer async destroys on pool import
#18043 3d76ba273 Improve async destroy processing timing
#18044 46d6f1fe5 DDT: Move logs searches out of the lock
#18047 ff5414406 DDT: Switch to using ZAP _by_dnode() interfaces
#18048 3b1ff816b DDT: Add/use zap_lookup_length_uint64_by_dnode()
#18055 22e89aca8 DDT: Fix compressed entry buffer size
#18059 0550abd4b RAIDZ: Remove some excessive logging
#18060 a83bb15fc Reduce minimal scrub/resilver times
#18061 962e68865 Use reduced precision for scan times
#18063 051a8c749 Bypass snprintf() in quota checks if no quotas set
#18064 7ff329ac2 Fix rangelock test for growing block size
Obtained from: OpenZFS
OpenZFS commit: 962e68865e4a569a8a51a07a45dcae7c33cdca78
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FreeBSD: Fix a potential null dereference in zfs_freebsd_fsync()
In general it's possible for a vnode to not have an associated VM
object. This happens in particular with named pipes, which have
some distinct VOPs, defined in zfs_fifoops. Thus, this chunk of
zfs_freebsd_fsync() needs to check for the FIFO case, like other
vm_object_mightbedirty() callers do.
(Note that vn_flush_cached_data() calls are predicated on
zn_has_cached_data() returning true, and it checks for a NULL v_object
pointer already.)
Fixes: ef4058fcdc01838117dd93a654228bac7487a37c
Reported-by: Collin Funk <collin.funk1@gmail.com>
Reviewed-by: Sean Eric Fagan <sef@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: Mark Johnston <markj@FreeBSD.org>
Closes #18015
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17932 1f3444f2b zpool: fix special vdev -v -o conflict
#17934 -multiple Remove libuutil
#17941 88d012a1d Fix snapshot automount expiry cancellation deadlock
#17942 36e4f1888 Fix taskq NULL pointer dereference on timer race
#17946 39303feba chksum: run 256K benchmark on demand, preserve
chksum_stat_data
#17948 -multiple Remove libtpool
#17957 e37937f42 ztest: fix broken random call
#17960 928eccc5b DDT: Reduce global DDT lock scope during writes
#17961 48f33c1ef DDT: Make children writes inherit allocator
#17975 7f7d4934c FreeBSD: Fix uninitialized variable error
#17980 a5b665df3 DDT: Switch to using wmsums for lookup stats
#18004 ffaea0831 FreeBSD: Remove HAVE_INLINE_FLSL use
Obtained from: OpenZFS
OpenZFS commit: 89f729dcca87425aadfa03d1764e96f285eb658d
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The quantum cache is disabled, there is no uma.
Intent is to use this for resource allocation in bhyve(8), for start.
Addition of -luvmem to bhyve linking was done to test changes to share/mk.
Reviewed by: bnovkov, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D27220
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Partially revert:
https://github.com/openzfs/zfs/commit/99d7453b43dc0ef04a35e461ef14db72e1326c7c
which introduced this file upstream. This causes this definition to be
preferred for all builds. Make the smallest change possible to this file
to change the default to FreeBSD. We're talking to the upstraem folks
about the right fix. Feel free to revert this in the future, so long as
`bectl activate -t` still works properly afterwards.
Sponsored by: Netflix
|
| |
|
|
|
|
| |
Workaround multiple cross-build issues in OpenZFS code
TBD: discuss long-term fix with OpenZFS
|
| |
|
|
|
| |
Fix Makefiles
Update zfs_config.h and zfs_gitrev.h
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17477 02fdd26e5 Add knob to disable slow io notifications
#17792 d0294aa75 Update dnode_next_offset_level to accept blkid instead
of offset
#17824 8c225ff1b Fix gang write late_arrival bug
#17861 -multiple Lift userspace definitions out of zfs_context.h
#17872 dcada084b Pass flags to more DMU write/hold functions
#17875 ec268cdf9 Fix caching of DDT log and BRT
#17875 ea125eeb5 BRT: Round bv_entcount up to BRT_BLOCKSIZE
#17877 6cfc3dba9 Cleanup ZIO_FLAG_IO_RETRY vs TRYHARD usage
#17885 e63d026b9 cmd/zpool cstyle issues
#17890 b4f073b5a Add BRT support to zpool prefetch command
#17903 baefe098e ZIO: Set minimum number of free issue threads to 32
#17906 6e12f0bd7 spa_misc: add an API for spa_namespace_lock
#17908 e26b9fc87 FreeBSD: Add support for _PC_CASE_INSENSITIVE
#17911 -multiple Update library ABI versions for v2.4.0
#17915 8aaed7dc4 BRT: Fix ranges to blocks conversion math
#17916 cc5cae547 BRT: Increase block size from 4KB to 8KB
#17921 72b2a9571 ZAP: Remove dmu_object_info_from_dnode() call
Obtained from: OpenZFS
OpenZFS commit: e63d026b91b822dd9b363ab9a1e39d9a66493601
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17836 adacf020c Fix return value for setting zvol threading
#17839 44704616b zpool: fix conflict with -v and -o options
#17851 3a55e76b8 FreeBSD: zfs_getpages: Don't zero freshly allocated pages
#17863 0455150f1 FreeBSD zio_crypt.c: initialize uio variables before
access
Obtained from: OpenZFS
OpenZFS commit: 0455150f1160dd7089ab31fefcfc58bfa548ab81
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initially, `zfs_getpages()` is provided with an array of busy pages by
the vnode pager. It then tries to acquire the range lock, but if there
is a concurrent `zfs_write()` running and fails to acquire that range
lock, it "unbusies" the pages to avoid a deadlock with `zfs_write()`.
After that, it grabs the pages again and retries to acquire the range
lock, and so on.
Once it got the range lock, it filters out valid pages, then copy DMU
data to the remaining invalid pages.
The problem is that freshly allocated zero'd pages it grabbed itself are
marked as valid. Therefore they are skipped by the second part of the
function and DMU data is never copied to these pages. This causes mapped
pages to contain zeros instead of the expected file content.
This was discovered while working on RabbitMQ on FreeBSD. I could
reproduce the problem easily with the following commands:
git clone https://github.com/rabbitmq/rabbitmq-server.git
cd rabbitmq-server/deps/rabbit
gmake distclean-ct RABBITMQ_METADATA_STORE=mnesia \
ct-amqp_client t=cluster_size_3:leader_transfer_stream_send
The testsuite fails because there is a sendfile(2) that can happen
concurrently to a write(2) on the same file. This leads to sendfile(2)
or read(2) (after the sendfile) sending/returning data with zeros, which
causes a function to crash.
The patch consists of not setting the `VM_ALLOC_ZERO` flag when
`zfs_getpages()` grabs pages again. Then, the last page is zero'd if it
is invalid, in case it would be partially filled with the end of the
file content. Other pages are either valid (and will be skipped) or they
will be entirely overwritten by the file content.
This patch was submitted to OpenZFS as openzfs/zfs#17851 which was
approved.
Reviewed by: avg, mav
Obtained from: OpenZFS
OpenZFS commit: 8a3533a366e6df2ea770ad7d80b7b68a94a81023
MFC after: 3 days
Differential revision: https://reviews.freebsd.org/D53219
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17750 6e5b836e9 FreeBSD: Correct _PC_MIN_HOLE_SIZE
#17803 1861a329f zvol: verify IO type is supported
#17826 51de2d76f Explicit set ashift for non-leaf vdevs
#17830 f4276479c Suppress some ashift warnings
#17843 6ae99d269 mmap_seek: print error code and text on failure
Obtained from: OpenZFS
OpenZFS commit: 6ae99d26924decb5f618b596ec7663e6a26d2e5f
|
| |
|
|
|
|
|
|
| |
Reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D52045
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The introduction of OpenZFS moved some sysctls, and legacy compat shims
were added. For example:
Old (legacy) name: vfs.zfs.min_auto_ashift
New name: vfs.zfs.vdev.min_auto_ashift
Upstream OpenZFS removed these, but we've temporarily restored them in
FreeBSD.
Note that l2arc sysctls use generic sysctl functions (e.g. SYSCTL_UQUAD)
and thus cannot trivially have warnings added, so they are not handled.
PR: 266374
Reviewed by: jlduran
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53033
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
As of commit 87a7b35f04b6 ("bsdinstall: fix vfs.zfs.vdev.min_auto_ashift
oid") the installer uses the current vfs.zfs.vdev.min_auto_ashift sysctl
name, but there are many systems with configurations referring to the
legacy vfs.zfs.min_auto_ashift sysctl. For now, restore the aliases.
This reverts commit ced72fdd69f27b54cf592351a36660cd9fd7dbd3.
PR: 266374
Reviewed by: mm
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52660
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#16025 26b0f561b dnode_next_offset: backtrack if lower level does not match
#17758 c722bf881 Add interface to interface spa_get_worst_case_min_alloc()
function
#17765 8d4c3ee9e zvol: Fix blk-mq sync
#17787 8869caae5 zinject: Introduce ready delay fault injection
#17780 b2196fbed Fix 'zpool add' safety check corner cases
#17783 5c38029f4 zdb: add ZFS_KEYFORMAT_RAW support for -K option
#17786 f0a95e897 zpool iostat: refresh pool list every interval
#17807 -multiple zpool iostat: fix regressions in "all pools" mode
after #17786
#17793 -multiple ddt prune: Add SCL_ZIO deadlock workaround
#17799 ac2d8c80b Make mount/share errors non-fatal for zfs create/clone
Obtained from: OpenZFS
OpenZFS commit: 5605a6d79b3582296208ac391f93a5faf729fa92
|
| |
|
|
|
|
|
| |
To avoid a compilation warning. The routine turned out to be rather
stubborn when it comes to trying to ifdef it out.
Sponsored by: Rubicon Communications, LLC ("Netgate")
|
| |
|
|
|
|
|
| |
The function is unused, already disappeared upstream and results in
compilation warnings.
Sponsored by: Rubicon Communications, LLC ("Netgate")
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17705 545d66204 Fix a printf format specifier on FreeBSD/i386
#17708 3387d3409 Fix atomic-alignment warnings in libspl on FreeBSD/i386
#17719 f319ff357 vdev_disk_close: take disk write lock before destroying it
#17732 1d2d81298 Refactor `zhack label repair` and fix `-c` regression on
nonzero TXG
#17764 ea37c30fc zdb: Fix asize overflow in verify_livelist_allocs()
Obtained from: OpenZFS
OpenZFS commit: b2196fbedf5dbfb8593288f5f9ba712e31429a84
|
| |
|
|
|
|
|
|
|
|
| |
EINVAL"
This reverts commit cead6157cc1b748df29b32072f492d4f6afae65a.
Same as 9a3edc8d5dbcb896179cfa7867f961184e146a09
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
same as UFS"
This reverts commit 9a3edc8d5dbcb896179cfa7867f961184e146a09.
Apparently returning EINVAL is more aggressive than UFS does it, and
this causes compatibility issues with apps that actually trigger the
behavior.
PR: 289485, 289678
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
|
| |
|
|
|
| |
raidz_outlier_check_interval_ms has type hrtime_t, which is a long long,
which is 64 bits wide on all supported platforms.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17227 d64711c20 Detect a slow raidz child during reads
#17543 -multiple zfs allow send:raw
#17717 bc0b5318a Prevent scrubbing a read-only pool
#17722 cb5f9aa58 FreeBSD: Satisfy ASSERT_VOP_IN_SEQC()
#17729 3f4312a0a Fix two infinite loops if dmu_prefetch_max set to zero
#17730 37cd30f71 Fix ddle memleak in ddt_log_load
#17733 bc8bcfc71 Fix type in dbrrd_closest()
#17735 9b772f328 Fix time database update calculations
Obtained from: OpenZFS
OpenZFS commit: 3f4312a0a428624e596bb35ae4806ea0d4d69472
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#15869 ee7c36264 Add description of default sorting behavior to zfs_list.8
#17375 ced72fdd6 tunables: remove legacy FreeBSD aliases
#17600 1da2c30be Update pam_zfs_key.c default path for FreeBSD
#17632 b6bd3228b Synchronize the update of feature refcount
#17645 59f8f5dfe zfs_vnops_os.c: Add support for the _PC_CLONE_BLKSIZE name
#17665 0d54ae288 zdb: Fix format strings on 32-bit systems
#17673 976f76534 Update compatibility.d files
#17699 e3c3e86c0 Fix wrong dedup_table_size for legacy dedup
#17704 e29bfa5bd Fix warnings about sha2_is_supported on FreeBSD/i386
#17706 a2424312c Fix the build on 32-bit FreeBSD with GCC
Obtained from: OpenZFS
OpenZFS commit: 7939bad5e79225288a2580e8ea217f5c6f616db2
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OpenZFS 2.4.0 rc1
Notable upstream pull request merges:
#17643 94413bc75 zdb: Filter log spacemaps by vdev
#17655 28ff57505 FreeBSD: satisfy VFS requirements for readdir()
#17658 -multiple dnode: fix how we track and check dirtyness
As OpenZFS 2.4 got branched, this is the last merge to main
until stable/15 is branched. stable/15 will receive updates
from the vendor/openzfs/zfs-2.4-release branch.
Obtained from: OpenZFS
OpenZFS commit: 00dfa094ac35e240bed33f8bcfea68d805eab6ae
OpenZFS tag: zfs-2.4.0-rc1
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17058 -multiple Port AVX2 implementation of aes-gcm from BoringSSL
#17602 077269bfe Fix Assert in dbuf_undirty, which triggers during
usage zap shrink
#17613 d15143207 ZIL: Make allocations more flexible
#17618 5061f959d Retire zfs_autoimport_disable kmod option
#17166 d3c1d27af zdb: better handling for corrupt block pointers
#17616 1ccae433e Allow vmem_alloc backed multilists
#17619 e0e60d319 Better pack struct zio_prop
#17620 152e34822 Silence zstd large allocation warning
#17622 -multiple ZIL: restore some things lost in "ZIL-crash" review
#17625 -multiple zvol: cleanup & fixup zvol destruction sequence and
locking
#17631 885d929cf Fix missed assertion update in physical rewrite patch
#17642 a9410ccbd Make zpool_find_config() report errors
#17647 30a915efe zfs-send.8: mention combination of -c/-e flags and
zstd_compress feature
#17649 2c877e845 FreeBSD: Set st_rdev to NODEV, not 0, when not a device
(already backported)
Obtained from: OpenZFS
OpenZFS commit: a9410ccbd9f0375a7eeb6bc35eb55efe9c21493e
|
| |
|
|
|
|
|
| |
Reviewed by: allanjude, markj, rmacklem
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D51930
|
| |
|
|
|
|
|
|
| |
Reported by: rmacklem
Reviewed by: allanjude, markj, rmacklem
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D51930
|
| |
|
|
|
|
|
|
|
| |
same as UFS.
Reviewed by: allanjude, markj, rmacklem
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D51930
|
| |
|
|
|
|
|
|
|
| |
PR: 288889
Reported by: bakul
Reviewed by: allanjude, markj, rmacklem
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D51930
|
| |
|
|
|
| |
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D51954
|
| |
|
|
|
|
|
|
| |
Physical rewrite patch changed the meaning of BP_GET_BIRTH(), but
I missed update one of its occurences, ending up asserting equal
logical birth times instead of equal physical birth times.
PR: 288722
|
| |
|
|
|
|
|
| |
This is no longer needed now we don't include tunables.c in the
bootstrap libspl.
This reverts commit 6188ca6a9d72af9be987e1aedc345210f834ad80.
|
| |
|
|
|
| |
This needs to be resolved later with the correct macros or
a different approach in discussion with Rob Norris (OpenZFS).
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17398 -multiple ZIL: "crash" the ZIL if the pool suspends during fallback
#17585 0c376d0f5 Document the new '-a' zpool option
#17590 03592417c SIMD: Don't require definition of `HAVE_XSAVE`
#17591 -multiple Prefer VERIFY0 over comparision with 0 or NULL
#17596 -multiple zvol: misc cleanups
#17605 2fd145b57 zvol: cleanup error handling and passthrough
Obtained from: OpenZFS
OpenZFS commit: 1d0b94c4e73d83299528c44fb4fa3b29eb6009a3
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The presence of uint64_t in the expression promotes the entire
expression to uint64_t which is larger than uintptr_t on 32-bit
plaforms.
Note that this also fixes the build for lib32 libraries on 64-bit
platforms.
sys/contrib/openzfs/include/sys/zio.h: In function 'gbh_eck':
sys/contrib/openzfs/include/sys/zio.h:85:17: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
85 | return ((zio_eck_t *)((uintptr_t)gbh + size - sizeof (zio_eck_t)));
| ^
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#16853 894edd084 Add TXG timestamp database
#17004 -multiple Implement dynamic gang header sizes
#17405 dea0fc969 ZVOL: Return early, if volmode is ZFS_VOLMODE_NONE
on FreeBSD side
#17455 cf146460c Default to zfs_bclone_wait_dirty=1
#17481 523d9d600 Validate mountpoint on path-based unmount using statx
#17482 92da9e0e9 ZVOL: Implement zvol_alloc() function on FreeBSD side
#17489 dee62e074 spa: ZIO_TASKQ_ISSUE: Use symbolic priority
#17496 bf846dcb7 Release topology restrictions on special/dedup
#17497 4e92aee23 Relax special_small_blocks restrictions
#17503 ea38787f2 Revert "Fix incorrect expected error in ztest"
#17505 be1e991a1 Allow and prefer special vdevs as ZIL
#17506 ee0cb4cb8 ztest: Fix false positive of ENOSPC handling
#17507 92d3b4ee2 zio: rename `io_reexecute` as `io_post`;
use it for the direct IO checksum error flag
#17508 6af8db61b metaslab: don't pass whole zio to throttle reserve APIs
#17518 4c2a7f85d FreeBSD: Add support for _PC_HAS_HIDDENSYSTEM
#17521 d7ab07dfb ZIL: Force writing of open LWB on suspend
#17524 b6e8db509 zpool/zfs: Add '-a|--all' option to scrub, trim,
initialize
#17531 c1e51c55f Correct weight recalculation of space-based metaslabs
#17533 d323fbf49 FreeBSD: zfs_putpages: don't undirty pages until
after write completes
#17536 b21e04e8d Fix zdb pool/ with -k
#17537 -multiple Userspace tunables
#17540 2957eabbe Add support for FreeBSD's Solaris style extended
attribute interface
#17547 4bd7a2eaa zdb: fix checksum calculation for decompressed blocks
#17551 -multiple cleanup: remove var init/update
#17561 0f8a1105e Skip dbuf_evict_one() from dbuf_evict_notify()
for reclaim thread
#17563 10a78e264 Faster checksum benchmark on system boot
#17564 00ce064d8 spa: update blkptr diagram to include vdev padding
on encrypted blocks
#17565 -multiple Physical rewrite
#17566 fc885f308 Don't use wrong weight when passivating group
#17572 f70c85086 BRT: Fix ZAP entry endianness
#17575 0b6fd024a ZVOL: Unify zvol minors operations and improve error
handling
#17581 cb5e7e097 range_tree: Provide more debug details upon unexpected
add/remove
#17587 -multiple Fix two issues with dynamic gang headers
Obtained from: OpenZFS
OpenZFS commit: 8302b6e32bb153a6f402b106484d5736f082abcc
|
| |
|
|
|
|
|
|
|
|
|
| |
This causes async putpages to leave the pages sbusied for a long time,
which hurts concurrency. Revert for now until we have a better
approach.
This reverts commit 238eab7dc16932edbe9bcc990e8e5376bfe5b2ba.
Reported by: Ihor Antonov <ngor@hugpoint.tech>
Discussed with: Rob Norris <rob.norris@klarasystems.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17463 48ce292ea Clarify and restrict dmu_tx_assign() errors
#17484 d461a67d0 Ensure that gang_copies is always at least as large
as copies
#17486 0a2163d19 FreeBSD: Ensure that z_pflags is initialized for
new znodes
#17488 ea076d692 vdev_raidz_asize_to_psize: return psize, not asize
#17490 69ee01aa4 Fix bug caused by rounding in vdev_raidz_asize_to_psize
Obtained from: OpenZFS
OpenZFS commit: 69ee01aa4b106dd57016b0d756201ecf7c211d46
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17385 e1677d9ee ZVOL: Make zvol_prefetch_bytes module parameter platform-independent
#17386 e0edfcbd4 ZVOL: Make zvol_volmode module parameter platform-independent
#17391 108562344 Improve allocation fallback handling
#17409 68817d28c Include class name into struct metaslab_class
#17413 af7d60959 zpl: handle suspend from two remaining calls to `txg_wait_synced()`
#17415 b7f919d22 Relax zfs_vnops_read_chunk_size limitations
#17423 5e5253be8 FreeBSD: Wire projects support
#17426 -multiple Channel programs: add zfs.sync.clone()
#17431 e0ef4d276 Improve block cloning transactions accounting
#17432 46b82de61 scrub: generate scrub_finish event
#17435 bcd043023 Allow zero compression if dedup is enabled
#17438 ba227e2cc Make TX abort after assign safer
#17441 4ae931aa9 Polish db_rwlock scope
#17434 66ec7fb26 Reduce zfs_dmu_offset_next_sync penalty
#17445 238eab7dc FreeBSD: zfs_putpages: don't undirty pages until after write completes
#17458 bd27b7540 ZIL: Relax parallel write ZIOs processing
#17469 717213d43 Fix other nonrot bugs
Obtained from: OpenZFS
OpenZFS commit: 8170eb6ebcf2e7b1c735da80c331d7a57f1de987
|
| |
|
|
|
|
|
|
|
|
| |
This allows to change the meaning of priority differences in FreeBSD
without requiring code changes in ZFS.
MFC after: 1 month
Event: Kitchener-Waterloo Hackathon 202506
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45390
|
| |
|
|
|
|
|
|
|
|
|
| |
Note that ZNODE_OS_FIELDS needs to change to using struct vnode over
vnode_t (matching struct zfsvfs rather than vnode_t) since vnode_t is
only defined in the kernel SPL, not the userspace SPL (libspl).
Whilst here, tidy up the includes and clarify a comment.
Reviewed by: imp, markj
Differential Revision: https://reviews.freebsd.org/D50720
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Switch to using sys/stdarg.h for va_list type and va_* builtins.
Make an attempt to insert the include in a sensible place. Where
style(9) was followed this is easy, where it was ignored, aim for the
first block of sys/*.h headers and don't get too fussy or try to fix
other style bugs.
Reviewed by: imp
Exp-run by: antoine (PR 286274)
Pull Request: https://github.com/freebsd/freebsd-src/pull/1595
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17381 44e326689 events: include zio type in IO error reports
#17395 008c9666e Set spa_final_txg in spa_unload()
#17394 1bd225ed8 abd_os: move headers from libzpool to libspl
#17399 5764e218b vdev_disk: remove classic IO submission
#17400 b3b3cd1e4 vdev: skip faulting disks pending removal
#17406 a38376b37 Rename zvol kernel module parameters sysctls on FreeBSD side
#17407 2d33c8edb Make rewrite use Uncached I/O
Obtained from: OpenZFS
OpenZFS commit: e8e602d987b01e7940f698d5fa2b00754609c74b
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#14876 b048bfa9c Allow opt-in of zvol blocks in special class
#16486 b6916f995 ARC: parallel eviction
#17169 1a8f5ad3b zvol: Enable zvol threading functionality on FreeBSD
#17209 c17bdc491 More aggressively assert that db_mtx protects db.db_data
#17218 734eba251 Wire O_DIRECT also to Uncached I/O
#17246 49fbdd453 Introduce zfs rewrite subcommand
#17255 b1ccab172 ARC: Avoid overflows in arc_evict_adj()
#17280 848794503 zcp: get_prop: fix encryptionroot and encryption
#17301 086105f4c Cause zpool scan resume commands to get logged in history
#17306 246e5883b zfs_valstr: update zio_flag strings for
ZIO_FLAG_PREALLOCATED
#17309 78628a5c1 FreeBSD: Use new SYSCTL_SIZEOF()
#17314 89a8a9158 ARC: Notify dbuf cache about target size reduction
#17319 8b9c4e643 spa: clear checkpoint information during retry
#17339 d5616ad34 Increase meta-dnode redundancy in "some" mode
#17340 ea74cdedd Fix 2 bugs in non-raw send with encryption
#17342 e55225be3 Add explicit DMU_DIRECTIO checks
#17343 d8a33bc0a icp: Use explicit_memset() exclusively in gcm_clear_ctx()
#17344 -multiple libzfs_core: add ZFS_IOC_TRACE envvar to enable ioctl
tracing
#17348 f0baaa329 arcstat: prevent ZeroDivisionError when L2ARC becomes
empty
#17353 83fa80a55 dmu_objset_hold_flags() should call
dsl_dataset_rele_flags() on error
#17355 -multiple Allow txg_wait_synced_flags() and dmu_tx_assign()
to return when the pool suspends
#17361 5c30b2438 Fix null dereference in spa_vdev_remove_cancel_sync()
#17363 ddf28f27c Fix off-by-one bug in range tree code
#17367 06fa8f3f6 zfs_cmd: reorganise zfs_cmd_t to match original size
#17368 2a91d577b Expose dataset encryption status via fast stat path
#17372 c464f1d01 Only interrupt active disk I/Os in failmode=continue
#17373 9d76950d6 ZIL: Improve write log size accounting
#17377 -multiple tunables: general code cleanup
#17379 fa697b94e FreeBSD: Add posix_fadvise(POSIX_FADV_WILLNEED) support
#17384 3dfa98d01 ZVOL: Make zvol_inhibit_dev module parameter
platform-independent
Obtained from: OpenZFS
OpenZFS commit: 3084336ae4a4e114e41be3177a3f5c779d66e93c
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously OCF set CRYPTO_F_DONE prior to invoking the completion
callback, even if the request failed. This isn't particularly useful
and leads to bugs when consumers retry a failed request, since OCF also
asserts that CRYPTO_F_DONE is clear in crypto_dispatch(). (Really, OCF
should retry requests that fail with EAGAIN, but that's a larger
change.)
For now, just stop setting CRYPTO_F_DONE to simplify consumers (and fix
those which fail to clear the flag before retrying a request).
PR: 286321
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D50104
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce two helpers, the more general SYSCTL_SIZEOF() and
a struct-specific one SYSCTL_SIZEOF_STRUCT() which prepends 'struct' in
the description and in the use of sizeof() but uses the raw structure
name as the knob's name. The size of the object/structure is exported
under 'debug.sizeof'.
Existing knobs under 'debug.sizeof' were all converted to use the
helpers.
Add a note before the helpers discouraging the introduction of new
leaves for ad-hoc reasons. List alternative means for developers to
obtain the size of arbitrary kernel structures easily (thanks to markj@
for providing these).
No functional change (intended).
Reviewed by: kib, markj
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50121
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notable upstream pull request merges:
#17111 246e5883b Implement allocation size ranges and use for gang leaves
#17123 5f5321eff Handle interaction between gang blocks, copies, and FDT
#17130 -multiple Implement default user/group/project quotas
#17164 301da593a Fix lock reversal on device removal cancel
#17183 367d34b3a Fix dspace underflow bug
#17187 30cc2331f zed: Ensure spare activation after kernel-initiated device
removal
#17191 11ca12dbd simd_powerpc.h: enable FPU on FreeBSD
#17192 5b29e70ae Remove mg_allocators
#17204 a497c5fc8 Improve L2 caching control for prefetched indirects
#17205 b14b3e398 Fix FDT rollback to not overwrite unnecessary fields
#17206 7be9fa259 Fix nonrot property being incorrectly unset
#17208 09fc7bb47 Fix memory leaks in pool properties handling
#17213 78a7c78bd Added fix for zpool get state segfaults with two or more
vdevs
#17228 131df3bbf vdev_to_nvlist_iter: ignore draid parameters when matching
names
#17231 f40ab9e39 Fix double spares for failed vdev
#17264 27f3d9494 Sort the blocking snapshots lis
#17269 f86d9af16 Fix race between resilver wait and offline/detach
#17273 c8fa39b46 cred: properly pass and test creds on other threads
#17284 a7de203c8 txg: generalise txg_wait_synced_sig() to
txg_wait_synced_flags()
Obtained from: OpenZFS
OpenZFS commit: 246e5883bb5b8e09b1a4213f7b1704b5a9ed5568
|
| |
|
|
|
|
|
|
| |
It was necessary in the beginning for a definition of curthread,
but in the later versions of the patch turned out to be not needed.
Fixes: 5b02365ac656e1cccf293ec1c57a8eb6c5cd51e2
Reported by: mav
|