7a7741af18
Notable upstream pull request merges: #9416 -multiple zio_compress: introduce max size threshold #10018a10e552b9Adding Direct IO Support #15147e419a63bfxattr dataset prop: change defaults to sa #154547e957fde7send/recv: open up additional stream feature flags #158100d77e738eDefer resilver only when progress is above a threshold #159213cf2bfa57Allocate zap_attribute_t from kmem instead of stack #16483 -multiple dmu_objset: replace dnode_hash impl with cityhash4 #164858be2f4c3dzio_resume: log when unsuspending the pool #1649188433e640sys/types32.h: Remove struct timeval32 from libspl header #16496f245541e2zfs_file: implement zfs_file_deallocate for FreeBSD 14 #16511308f7c2f1Fix an uninitialized data access #1652929c9e6c32Fix handling of DNS names with '-' in them for sharenfs #16531ddf5f34f0Avoid fault diagnosis if multiple vdevs have errors #165396f50f8e16zfs_log: add flex array fields to log record structs #16546d40d40913Evicting too many bytes from MFU metadata #165513014dcb76Reduce and handle EAGAIN errors on AIO label reads #1655480645d658FreeBSD: restore zfs_znode_update_vfs() #16565832f66b21FreeBSD: Sync taskq_cancel_id() returns with Linux #1656748d1be254Properly release key in spa_keystore_dsl_key_hold_dd() #16569141368a4bRestrict raidz faulted vdev count #16583c84a37ae9lua: add flex array field to TString type #1658486737c592Avoid computing strlen() inside loops #16587d34d4f97asnapdir: add 'disabled' value to make .zfs inaccessible #16593224393a32feature: large_microzap #16597412105977Temporarily disable Direct IO by default #166054ebe674d9ARC: Cache arc_c value during arc_evict() Backported pull request merges: #16613ab777f436Return boolean_t in inline functions of lib/libspl/include/sys/uio.h #16616efeb60b86FreeBSD: ignore some includes when not building kernel #16635 ---TBD--- zdb: fix printf format in dump_zap() Obtained from: OpenZFS OpenZFS commit:b109925820OpenZFS tag: 2.3.0-rc1
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 |
| cam | Common Access Method storage subsystem - cam(4) and ctl(4) |
| cddl | CDDL-licensed optional sources such as DTrace |
| conf | kernel build glue |
| compat | Linux compatibility layer, FreeBSD 32-bit compatibility |
| contrib | 3rd-party imported software such as OpenZFS |
| crypto | crypto drivers |
| ddb | interactive kernel debugger - ddb(4) |
| fs | most filesystems, excluding UFS, NFS, and ZFS |
| dev | device drivers and other arch independent code |
| gdb | kernel remote GDB stub - gdb(4) |
| geom | GEOM framework - geom(4) |
| i386 | i386 (32-bit x86) architecture support |
| kern | main part of the kernel |
| 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) |
| netpfil | packet filters - ipfw(4), pf(4), and ipfilter(4) |
| opencrypto | OpenCrypto framework - crypto(7) |
| powerpc | PowerPC/POWER (32 and 64-bit) architecture support |
| riscv | 64-bit RISC-V architecture support |
| security | security facilities - audit(4) and mac(4) |
| sys | kernel headers |
| tests | kernel unit tests |
| ufs | Unix File System - ffs(4) |
| vm | virtual memory system |
| x86 | code shared by AMD64 and i386 architectures |