mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-28 11:25:21 +01:00
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 Kernel Source:
This directory contains the source files and build glue that make up the FreeBSD kernel and its modules, including both original and contributed software.
Kernel configuration files are located in the conf/ subdirectory of each
architecture. GENERIC is the configuration used in release builds. NOTES
contains documentation of all possible entries. LINT is a compile-only
configuration used to maximize build coverage and detect regressions.
Documentation:
Source code documentation is maintained in a set of man pages, under section 9.
These pages are located in share/man/man9, from the
top-level of the src tree. Consult intro(9)
for an overview of existing pages.
Some additional high-level documentation of the kernel is maintained in the Architecture Handbook.
Source Roadmap:
| Directory | Description |
|---|---|
| amd64 | AMD64 (64-bit x86) architecture support |
| arm | 32-bit ARM architecture support |
| arm64 | 64-bit ARM (AArch64) architecture support |
| bsm | Basic Security Module headers - audit(4) and bsm(3) |
| cam | Common Access Method storage subsystem - cam(4) and ctl(4) |
| cddl | CDDL-licensed optional sources such as DTrace |
| compat | Linux compatibility layer, FreeBSD 32-bit compatibility |
| conf | kernel build glue |
| contrib | 3rd-party imported software such as OpenZFS |
| crypto | crypto drivers |
| ddb | interactive kernel debugger - ddb(4) |
| dev | device drivers and other arch independent code |
| dts | FreeBSD-specific device tree sources |
| fs | most filesystems, excluding UFS, NFS, and ZFS |
| gdb | kernel remote GDB stub - gdb(4) |
| geom | GEOM framework - geom(4) |
| gnu | GPL-licensed sources |
| i386 | i386 (32-bit x86) architecture support |
| isa | PC ISA bus implementation |
| kern | main part of the kernel |
| kgssapi | kernel-space GSSAPI implementation |
| libkern | libc-like and other support functions for kernel use |
| modules | kernel module infrastructure |
| net | core networking code |
| net80211 | wireless networking (IEEE 802.11) - net80211(4) |
| netgraph | graph-based networking subsystem - netgraph(4) |
| netinet | IPv4 protocol implementation - inet(4) |
| netinet6 | IPv6 protocol implementation - inet6(4) |
| netipsec | IPsec protocol implementation - ipsec(4) |
| netlink | kernel network configuration protocol - netlink(4) |
| netpfil | packet filters - ipfw(4), pf(4), and ipfilter(4) |
| netsmb | Server Message Block protocol implementation |
| nfs | common code and headers for Network File System |
| nfsclient | NFS client implementation for mounting and stats |
| nfsserver | NFS server implementation for exporting local filesystems to network |
| nlm | Network Lock Management protocol implementation |
| ofed | OpenFabrics Enterprise Distribution implementation |
| opencrypto | OpenCrypto framework - crypto(7) |
| powerpc | PowerPC/POWER (32 and 64-bit) architecture support |
| riscv | 64-bit RISC-V architecture support |
| rpc | Open Network Computing Remote Procedure Call implementation - rpc(3) |
| security | security facilities - audit(4) and mac(4) |
| sys | kernel headers |
| teken | terminal emulation interface implementation - teken(3) |
| tests | kernel unit tests |
| tools | kernel build scripts and utilities |
| ufs | Unix File System - ffs(4) |
| vm | virtual memory system |
| x86 | code shared by AMD64 and i386 architectures |
| xdr | External Data Representation implementation - xdr(3) |
| xen | Xen hypervisor support - xen(4) |