Notable upstream pull request merges: #16761eb1738bcbFreeBSD: Enable Direct IO by default #16747 -multiple On-demand log-spacemap flush #184740d0eae2abimplement thorough scrub support (zpool scrub -t) #185626721ab981Calling thread IO #186577ed1268d3Fix race between device removal completion and pool export #187070d1f3b1c6RAIDZ: Fix parity regeneration/check condition #18713 -multiple libzfs: fix key unload failure when unmounting an encryption root #18714d902eec64Disconnect metaslab tracing from default builds #18716e78fa488azstream: multithreading #187186acb99cb1Do not return ESTALE for open-unlinked files #18720f607ef7e7Fix insufficient locking in dedup verify #18722 -multiple snapdir: misc cleanups #187249bf75b4b1Fix reads for blocks freed after being cloned #187259b7642df9Harden recv record validation #1873237f066e3cFreeBSD: Wire sha512 offload to the build #18736 -multiple Remove idmap/userns concept from core & FreeBSD platform code #18742d63f14057libzutil: keep valid spare and l2cache paths on import #18749f217627d4Fix receive of split large blocks with a short trailing chunk #1875483bf40784Use a single creation time for a recursive snapshot #18755ebd9e2765zstream: add "drop records" chain module #187637d565cdfazfs bookmark: add recursive (-r) bookmark creation #1876550557cc80zpool initialize: add -z to write zeroes #187660467ba01cAdd SECURITY.md policy filE #18773ffde77051Fix deduce_nblkptr for large dnodes on receive #18784 -multiple libzfs: clarify the raw incremental "IV set guid mismatch" error #187939a02e53adlibzfs: don't abort receiving a raw encrypted send that carries holds #1879530426217bRate limit Direct I/O verify zevents #1879873b202451Bound explicit user prefetch to a fraction of the ARC #188012a5331f8eFix dmu_zfetch_prime() assuming a stream was created #18802fb5fdefd8libzfs: fallback VDEV_UPATH to VDEV_PATH for non-DM devices #18809bd2d87399zdb: output refcounts from verify_spacemap_refcounts() #188115d530b8beABD: Validate borrowed buffer length #188125d687a975dbuf: use dirty record size for overridden writes #18819 -multiple ddt: fix refcount bypass and gang member leak for dedup gang blocks #1882187e2e4047BRT: Implement partial bv_entcount writing #18822 -multiple dnode_sync: Relax constraint on indirect freeing - #18822 #18827d98fa72caL2ARC: bound the rebuild by the write hand on a first sweep #1883190cdd9aefBatch object reallocation syncs in zfs receive #18833466d90e15zed: let autoexpand see capacity changes on partitioned disks #188351ac3f2786mmp: skip non-writeable vdevs during activity check #18838a04c40138DDT: Fix several bugs in pruning #188410bb41751fzpool export: return EBUSY when zvol minors are in use #188483020c18cadmu_recv: Avoid potential null deref #188558cdd9b2b7mmp: do not require writes to mirror legs the config marks absent #18858596c7a0ecReduce dp_lock scope for MOS writes #188593ebf3ffc4Predict and throttle buffers dirtied by the sync context #18860 -multiple Further parallelize block cloning #18865412b17a29Fix DMU bonus hold leak on I/O error #18867b5bb1f816Add missing checks to zfs_clone_range_replay() #188683df5b2e7flibzfs: String trimming should not operate out of bounds #18869be62c5385libzfs: Do not call munmap() when mmap() fails #1887174e76f2d8libzfs: don't truncate a resolved vdev path in zpool_vdev_name() #188747312322b5nvpair: Fix operator precedence #188833bd8cefdclibzfs: don't read a dataset handle after closing it in resume send #18886b4f70cb9eFix negative time overflows in DDT pruning #18888674b1ae5cDDT: Make ddt_zap_walk() use cursor _by_dnode functions #18889fd1ae59c7DDT: Skip DDT log lookups in ddt_prune_walk() #18892 -multiple zhack: add "mmp reclaim" to recover a pool stranded by MMP #18897216de07d8arc: fix race between arc_release() and arc_read_done() #1889928afe8b08CodeQL: Flag implicit compare-then-assign in branch conditions #189170a79c039farc: save on buf_hash_find() call at arc_read_done() #189207026d3335Fix race condition in raidz expansion startup #18927be55e01bcFreeBSD: Do not leak TSD zfs_geom_probe_vdev_key on errors #189285bd7d4466scan: count skipped blocks as examined #18937a5d678864Allow pool import with corrupted spare/l2arc configs #18960 -multiple vdev_open: use calling credential to check for device access #18961acbcdd92cdmu_recv_begin_check: dsl_dataset_rele() should be called on ds #18962df3ff37fcdmu_redact_snap: Do proper cleanup on ENAMETOOLONG #1896484aa7e7e0libspl: consult ZFS_HOSTID on FreeBSD as well Obtained from: OpenZFS OpenZFS commit:84aa7e7e09
FreeBSD Source:
This is the top level of the FreeBSD source directory.
FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.
For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.
The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7), config(8), FreeBSD handbook on building userland, and Handbook for kernels for more information, including setting make(1) variables.
For information on the CPU architectures and platforms supported by FreeBSD, see the FreeBSD website's Platforms page.
For official FreeBSD bootable images, see the release page.
Source Roadmap:
| Directory | Description |
|---|---|
| bin | System/user commands. |
| cddl | Source code for third-party software under the Common Development and Distribution License. |
| contrib | Source code for third-party software. |
| crypto | Source code for cryptographic libraries and commands (see crypto/README). |
| etc | Template files for /etc. |
| include | System include files. |
| kerberos5 | Build system for Kerberos 5 (Heimdal). |
| krb5 | Build system for Kerberos 5 (MIT). |
| lib | System libraries. |
| libexec | System commands intended to be executed by other commands or daemons. |
| packages | Base system packages. |
| release | Makefiles and scripts used for building releases and VM images. |
| rescue | Build system for statically linked /rescue commands. |
| sbin | System commands. |
| secure | Build system for cryptographic libraries and commands (excluding Kerberos). |
| share | Shared resources. |
| stand | Boot loader sources. |
| sys | Kernel sources (see sys/README.md). |
| targets | Support for experimental DIRDEPS_BUILD |
| tests | Tests which can be run by Kyua. See tests/README for additional information. |
| tools | Ancillary utilities and tests (not included in the build). |
| usr.bin | User commands. |
| usr.sbin | System administration commands. |
For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see FreeBSD Handbook.