libc: expose execvpe for Linux compatPR: 275370(cherry picked from commit 8ccd0b876e67fda6249f294ff484798cc1e1569f)
zfs: merge openzfs/zfs@55dd24c4c (zfs-2.2-release) into stable/14OpenZFS release 2.2.1Notable upstream pull request merges: #14378 6d693e20a Large sync writes perform worse with slog #15243 78
zfs: merge openzfs/zfs@55dd24c4c (zfs-2.2-release) into stable/14OpenZFS release 2.2.1Notable upstream pull request merges: #14378 6d693e20a Large sync writes perform worse with slog #15243 78fd79eac Add zfs_prepare_disk script for disk firmware install #15356 b76724ae4 FreeBSD: Improve taskq wrapper #15360 f9a9aea12 Add mutex_enter_interruptible() for interruptible sleeping IOCTLs #15371 e82e68400 DMU: Do not pre-read holes during write #15390 79f7de575 Remove lock from dsl_pool_need_dirty_delay() #15397 6e41aca51 Trust ARC_BUF_SHARED() more #15402 eaa62d995 Properly pad struct tx_cpu to cache line #15405 1cc1bf4fa Set spa_ccw_fail_time=0 when expanding a vdev #15416 edebca5df FreeBSD: taskq: Remove unused declaration #15451 7aef672b7 Read prefetched buffers from L2ARC #15452 bd7a02c25 Tune zio buffer caches and their alignments #15456 3ec4ea68d Unify arc_prune_async() code #15465 459c99ff2 Fix block cloning between unencrypted and encrypted datasets #15478 76663fe37 Fix accounting error for pending sync IO ops in zpool iostat #15529 87e9e8286 Add a tunable to disable BRT supportObtained from: OpenZFSOpenZFS commit: 55dd24c4ccee2da61d5396289ef560f9b7bc6a68OpenZFS tag: zfs-2.2.1
show more ...
zfs: merge openzfs/zfs@32949f256 (zfs-2.2-release) into stable/14Notable upstream pull request merges: #15024 Add missed DMU_PROJECTUSED_OBJECT prefetch #15029 Do not request data L1 buffers on
zfs: merge openzfs/zfs@32949f256 (zfs-2.2-release) into stable/14Notable 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 orderObtained from: OpenZFSOpenZFS commit: 32949f2560bf35ec86dfa5d984514908e0eb3eccApproved by: re (gjb)
Remove $FreeBSD$: one-line sh patternRemove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
Update/fix Makefile.depend for userland
zfs: merge openzfs/zfs@431083f75Notable upstream pull request merges: #12194 Fix short-lived txg caused by autotrim #13368 ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced() #13392 Imple
zfs: merge openzfs/zfs@431083f75Notable upstream pull request merges: #12194 Fix short-lived txg caused by autotrim #13368 ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced() #13392 Implementation of block cloning for ZFS #13741 SHA2 reworking and API for iterating over multiple implementations #14282 Sync thread should avoid holding the spa config write lock when possible #14283 txg_sync should handle write errors in ZIL #14359 More adaptive ARC eviction #14469 Fix NULL pointer dereference in zio_ready() #14479 zfs redact fails when dnodesize=auto #14496 improve error message of zfs redact #14500 Skip memory allocation when compressing holes #14501 FreeBSD: don't verify recycled vnode for zfs control directory #14502 partially revert PR 14304 (eee9362a7) #14509 Fix per-jail zfs.mount_snapshot setting #14514 Fix data race between zil_commit() and zil_suspend() #14516 System-wide speculative prefetch limit #14517 Use rw_tryupgrade() in dmu_bonus_hold_by_dnode() #14519 Do not hold spa_config in ZIL while blocked on IO #14523 Move dmu_buf_rele() after dsl_dataset_sync_done() #14524 Ignore too large stack in case of dsl_deadlist_merge #14526 Use .section .rodata instead of .rodata on FreeBSD #14528 ICP: AES-GCM: Refactor gcm_clear_ctx() #14529 ICP: AES-GCM: Unify gcm_init_ctx() and gmac_init_ctx() #14532 Handle unexpected errors in zil_lwb_commit() without ASSERT() #14544 icp: Prevent compilers from optimizing away memset() in gcm_clear_ctx() #14546 Revert zfeature_active() to static #14556 Remove bad kmem_free() oversight from previous zfsdev_state_list patch #14563 Optimize the is_l2cacheable functions #14565 FreeBSD: zfs_znode_alloc: lock the vnode earlier #14566 FreeBSD: fix false assert in cache_vop_rmdir when replaying ZIL #14567 spl: Add cmn_err_once() to log a message only on the first call #14568 Fix incremental receive silently failing for recursive sends #14569 Restore ASMABI and other Unify work #14576 Fix detection of IBM Power8 machines (ISA 2.07) #14577 Better handling for future crypto parameters #14600 zcommon: Refactor FPU state handling in fletcher4 #14603 Fix prefetching of indirect blocks while destroying #14633 Fixes in persistent error log #14639 FreeBSD: Remove extra arc_reduce_target_size() call #14641 Additional limits on hole reporting #14649 Drop lying to the compiler in the fletcher4 code #14652 panic loop when removing slog device #14653 Update vdev state for spare vdev #14655 Fix cloning into already dirty dbufs #14678 Revert "Do not hold spa_config in ZIL while blocked on IO"Obtained from: OpenZFSOpenZFS commit: 431083f75bdd3efaee992bdd672625ec7240d252
pkgbase: Put zfs utilities and lib in their own packageIt is useful to have zfs utilities and lib in a separate package asit allow users to create image that can support ZFS (i.e. not withWITHOUT
pkgbase: Put zfs utilities and lib in their own packageIt is useful to have zfs utilities and lib in a separate package asit allow users to create image that can support ZFS (i.e. not withWITHOUT_ZFS in src.conf set) without bloating the default image withall zfs tools (for example for jails).Differential Revision: https://reviews.freebsd.org/D36225
zfs: merge openzfs/zfs@ec64fdb93 (master) into mainNotable upstream pull request merges: #12392 Avoid panic in case of pool errors and missing L2ARC #12448 skip snapshot in zfs_iter_mounted()
zfs: merge openzfs/zfs@ec64fdb93 (master) into mainNotable upstream pull request merges: #12392 Avoid panic in case of pool errors and missing L2ARC #12448 skip snapshot in zfs_iter_mounted() #12516 Fix NFS and large reads on older kernels #12533 Fail invalid incremental recursive send gracefully #12569 FreeBSD: Really zero the zero page #12575 Reject zfs send -RI with nonexistent fromsnap #12602 Correct refcount_add in dmu_zfetch #12650 zpool should call zfs_nicestrtonum() with non-NULL handleObtained from: OpenZFSOpenZFS commit: ec64fdb93d144ab1884097cfd36e18b62a2db848
zfs: unbreak build broken in 160388166
zfs: bump version and install new share files- bump version to 2.0.0-FreeBSD_gbf156c966- install definition files for the new "-o compatibility" option to "zpool create"MFC after: 2 weeks
zfs: merge OpenZFS master-436ab35a5- speed up writing to ZFS pools without ZIL devices (aa755b3)- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)...MFC after: 2 weeksReviewed by: mj
zfs: merge OpenZFS master-436ab35a5- speed up writing to ZFS pools without ZIL devices (aa755b3)- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)...MFC after: 2 weeksReviewed by: mjg (partial)Tested by: phoDifferential Revision: https://reviews.freebsd.org/D28677
Use MACHINE_CPUARCH when checking for arm64Use MACHINE_CPUARCH with arm64 (aarch64) when we build code that could runon any 64-bit Arm instruction set. This will simplify checks in downstreamcons
Use MACHINE_CPUARCH when checking for arm64Use MACHINE_CPUARCH with arm64 (aarch64) when we build code that could runon any 64-bit Arm instruction set. This will simplify checks in downstreamconsumers targeting prototype instruction sets.The only place we check for MACHINE_ARCH == aarch64 is when building thedevice tree blobs. As these are targeting current generation ISAs.Sponsored by: Innovate UKDifferential Revision: https://reviews.freebsd.org/D26370
libzfs: Add missing crypto dependencylibzfs_crypto.c uses PKCS5_PBKDF2_HMAC_SHA1 from libcrypto.Reported by: John KennedySponsored by: iXsystems, Inc.
Move zstd sources from libzfs to libzpoolzstd is kernel code that was not supposed to be in libzfs.libzpool provides userland shims for kernel code and is where thezstd code needs to be included
Move zstd sources from libzfs to libzpoolzstd is kernel code that was not supposed to be in libzfs.libzpool provides userland shims for kernel code and is where thezstd code needs to be included.Reported by: John KennedyDiscussed with: mmacySponsored by: iXsystems, Inc.
Fix libzfs build failures for someIn some environments adding zstd/include to the include pathwould cause zstd's stdlib.h to hide the system one.
Merge OpenZFS support in to HEAD.The primary benefit is maintaining a completely sharedcode base with the community allowing FreeBSD to receivenew features sooner and with less effort.I would a
Merge OpenZFS support in to HEAD.The primary benefit is maintaining a completely sharedcode base with the community allowing FreeBSD to receivenew features sooner and with less effort.I would advise against doing 'zpool upgrade'or creating indispensable pools using newfeatures until this change has had a month+to soak.Work on merging FreeBSD support in to what wasat the time "ZFS on Linux" began in August 2018.I first publicly proposed transitioning FreeBSDto (new) OpenZFS on December 18th, 2018. FreeBSDsupport in OpenZFS was finally completed in December2019. A CFT for downstreaming OpenZFS support into FreeBSD was first issued on July 8th. All issuesthat were reported have been addressed or, fora couple of less critical matters there arepull requests in progress with OpenZFS. iXsystemshas tested and dogfooded extensively internally.The TrueNAS 12 release is based on OpenZFS withsome additional features that have not yet madeit upstream.Improvements include: project quotas, encrypted datasets, allocation classes, vectorized raidz, vectorized checksums, various command line improvements, zstd compression.Thanks to those who have helped along the way:Ryan Moeller, Allan Jude, Zack Welch, and manyothers.Sponsored by: iXsystems, Inc.Differential Revision: https://reviews.freebsd.org/D25872
Update Makefile.depend filesUpdate a bunch of Makefile.depend files asa result of adding Makefile.depend.options filesReviewed by: bdreweryMFC after: 1 weekSponsored by: Juniper NetworksDi
Update Makefile.depend filesUpdate a bunch of Makefile.depend files asa result of adding Makefile.depend.options filesReviewed by: bdreweryMFC after: 1 weekSponsored by: Juniper NetworksDifferential Revision: https://reviews.freebsd.org/D22494
pkgbase: Force zfs(8) and zpool(8) to be in the runtime packageThose commands are needed to repair a FreeBSD installation so add themto the runtime packageReviewed by: bapt, gjbDifferential Rev
pkgbase: Force zfs(8) and zpool(8) to be in the runtime packageThose commands are needed to repair a FreeBSD installation so add themto the runtime packageReviewed by: bapt, gjbDifferential Revision: https://reviews.freebsd.org/D21498
Do not blindly include illumos kernel headers instead of user-space.It is not needed now, and I doubt it much helped at all, creating moreconfusions then good.
DIRDEPS_BUILD: Update dependencies.Sponsored by: Dell EMC Isilon
MFV r325013,r325034: 640 number_to_scaled_string is duplicated in several commandsillumos/illumos-gate@0a0551200ecbcd4f1b17560acaeeb7b6c8b0090ehttps://github.com/illumos/illumos-gate/commit/0a0551
MFV r325013,r325034: 640 number_to_scaled_string is duplicated in several commandsillumos/illumos-gate@0a0551200ecbcd4f1b17560acaeeb7b6c8b0090ehttps://github.com/illumos/illumos-gate/commit/0a0551200ecbcd4f1b17560acaeeb7b6c8b0090ehttps://www.illumos.org/issues/640 du(1), df(1m), ls(1), and swap(1m) all include a copy (it appears literally copied) of the 'number_to_scaled_string' function in their source. This should be moved to a shared library and all 4 commands should use this instead.FreeBSD note: of all libcmdutils functionality ZFS (and other illumoscontrib code) currently uses only nicenum() function (which is similarto humanize_number but has some formatting differences). For thisreason I decided to not port the whole library. As a result, nicenum.cfrom libcmdutils is compiled into libzfs and libzpool. This is a bitugly, but works. If one day we are forced to create libillumos, thenthe file should be moved to that library.Reviewed by: Sebastian Wiedenroth <[email protected]>Reviewed by: Robert Mustacchi <[email protected]>Reviewed by: Yuri Pankov <[email protected]>Approved by: Dan McDonald <[email protected]>Author: Jason King <[email protected]>MFC after: 2 weeks
Commit the 64-bit inode project.Extend the ino_t, dev_t, nlink_t types to 64-bit ints. Modifystruct dirent layout to add d_off, increase the size of d_filenoto 64-bits, increase the size of d_na
Commit the 64-bit inode project.Extend the ino_t, dev_t, nlink_t types to 64-bit ints. Modifystruct dirent layout to add d_off, increase the size of d_filenoto 64-bits, increase the size of d_namlen to 16-bits, and changethe required alignment. Increase struct statfs f_mntfromname[] andf_mntonname[] array length MNAMELEN to 1024.ABI breakage is mitigated by providing compatibility using versionedsymbols, ingenious use of the existing padding in structures, andby employing other tricks. Unfortunately, not everything can befixed, especially outside the base system. For instance, third-partyAPIs which pass struct stat around are broken in backward andforward incompatible ways.Kinfo sysctl MIBs ABI is changed in backward-compatible way, butthere is no general mechanism to handle other sysctl MIBS whichreturn structures where the layout has changed. It was consideredthat the breakage is either in the management interfaces, where weusually allow ABI slip, or is not important.Struct xvnode changed layout, no compat shims are provided.For struct xtty, dev_t tty device member was reduced to uint32_t.It was decided that keeping ABI compat in this case is more usefulthan reporting 64-bit dev_t, for the sake of pstat.Update note: strictly follow the instructions in UPDATING. Buildand install the new kernel with COMPAT_FREEBSD11 option enabled,then reboot, and only then install new world.Credits: The 64-bit inode project, also known as ino64, started lifemany years ago as a project by Gleb Kurtsou (gleb). Kirk McKusick(mckusick) then picked up and updated the patch, and acted as aflag-waver. Feedback, suggestions, and discussions were carriedby Ed Maste (emaste), John Baldwin (jhb), Jilles Tjoelker (jilles),and Rick Macklem (rmacklem). Kris Moore (kris) performed an initialports investigation followed by an exp-run by Antoine Brodin (antoine).Essential and all-embracing testing was done by Peter Holm (pho).The heavy lifting of coordinating all these efforts and bringing theproject to completion were done by Konstantin Belousov (kib).Sponsored by: The FreeBSD Foundation (emaste, kib)Differential revision: https://reviews.freebsd.org/D10439
cddl: normalize paths using SRCTOP-relative paths or :H when possibleThis simplifies make logic/outputWhile here, remove bogus CFLAGS which look for headers in cddl/lib/libumem.There aren't any
cddl: normalize paths using SRCTOP-relative paths or :H when possibleThis simplifies make logic/outputWhile here, remove bogus CFLAGS which look for headers in cddl/lib/libumem.There aren't any source files there (just Makefiles)MFC after: 1 monthSponsored by: Dell EMC Isilon
Fix LDADD/DPADD that should be LIBADD.Sponsored by: EMC / Isilon Storage Division
META MODE: Update dependencies with 'the-lot' and add missing directories.This is not properly respecting WITHOUT or ARCH dependencies in target/.Doing so requires a massive effort to rework targe
META MODE: Update dependencies with 'the-lot' and add missing directories.This is not properly respecting WITHOUT or ARCH dependencies in target/.Doing so requires a massive effort to rework targets/ to do so. Abetter approach will be to either include the SUBDIR Makefiles directlyand map to DIRDEPS or just dynamically lookup the SUBDIR. These losethe benefit of having a userland/lib, userland/libexec, etc, though andresults in a massive package. The current implementation of targets/ isvery unmaintainable.Currently rescue/rescue and sys/modules are still not connected.Sponsored by: EMC / Isilon Storage Division
123