freebsd-src/sys
Kirk McKusick e4a905d1e0 Add the ability to adjust directory depths to background fsck_ffs(8).
Commit fe5e6e2 improved FFS directory placement when creating new
directories. It is done by keeping track of the depth of directories
in the filesystem and placing those lower in the tree closer together
while spreading out those higher in the tree.

Fsck_ffs(8) checks these depths and if incorrect adjusts them to
their correct value. When running in background fsck_ffs(8) needs
to be able to make an adjustment to the depth. This commit adds
the sysctl to make such an adjustment and adds the code to fsck_ffs(8)
to use the new sysctl.

MFC after:    1 week
Sponsored by: The FreeBSD Foundation
2023-05-25 19:27:04 -07:00
..
amd64 smp: Dynamically allocate the stoppcbs array 2023-05-25 18:09:55 -04:00
arm smp: Dynamically allocate the stoppcbs array 2023-05-25 18:09:55 -04:00
arm64 smp: Dynamically allocate the stoppcbs array 2023-05-25 18:09:55 -04:00
bsm
cam spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
cddl kinst: be explicit about trampoline placement 2023-05-25 23:40:46 +03:00
compat LinuxKPI: add utsname for init_utsname() with release 2023-05-24 08:41:28 +00:00
conf sys: Enable -Wunused-but-set-variable for clang 15+. 2023-05-25 10:44:53 -07:00
contrib zfs: Fix build on 32-bit platforms after most recent import. 2023-05-25 07:11:38 -07:00
crypto spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
ddb spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
dev ofw: remove redundant calls in ofwbus_attach() 2023-05-25 23:47:41 +03:00
dts spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
fs fusefs: Remove an unused pbuf zone 2023-05-22 09:33:57 -04:00
gdb spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
geom spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSD 2023-05-12 10:44:04 -06:00
gnu spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
i386 smp: Dynamically allocate the stoppcbs array 2023-05-25 18:09:55 -04:00
isa spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
kern smp: Dynamically allocate the stoppcbs array 2023-05-25 18:09:55 -04:00
kgssapi spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
libkern spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
modules dtrace: implement dtrace_instr_size() for arm64 2023-05-23 17:19:15 +03:00
net if_ovpn: atomic_set -> atomic_store 2023-05-24 18:29:21 +02:00
net80211 net80211: Radiotap: update for defines 2023-05-20 00:56:21 +00:00
netgraph SPDX: It's spelled 'SPDX-License-Identifier' 2023-05-12 10:44:04 -06:00
netinet tcp: request tracking is not http specific. 2023-05-24 06:35:36 -04:00
netinet6 routing: plug mbuf leak for the packets hitting IPv6 blackhole route 2023-05-17 09:06:04 +00:00
netipsec spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
netlink netlink: call IPv6 hook when adding IPv4 addresses. 2023-05-22 13:42:28 +00:00
netpfil pf: remove the use of caddr_t 2023-05-23 16:11:13 +02:00
netsmb spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
nfs spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
nfsclient
nfsserver
nlm spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
ofed spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
opencrypto spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
powerpc smp: Dynamically allocate the stoppcbs array 2023-05-25 18:09:55 -04:00
riscv smp: Dynamically allocate the stoppcbs array 2023-05-25 18:09:55 -04:00
rpc spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
security mac: Honor order when registering MAC modules. 2023-04-18 15:36:27 -04:00
sys smp: Dynamically allocate the stoppcbs array 2023-05-25 18:09:55 -04:00
teken spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
tests spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
tools spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSD 2023-05-12 10:44:04 -06:00
ufs Add the ability to adjust directory depths to background fsck_ffs(8). 2023-05-25 19:27:04 -07:00
vm spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
x86 smp: Dynamically allocate the stoppcbs array 2023-05-25 18:09:55 -04:00
xdr spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
xen spdx: Remove duplicate lines 2023-05-12 10:44:03 -06:00
Makefile
README.md note that some arch independent code can live in dev (e.g. SMBios) 2023-03-03 01:54:07 -08:00

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.

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(7)
vm virtual memory system
x86 code shared by AMD64 and i386 architectures