TARFS(4)
π TARFS(4) β tarball filesystem β¨
okay bestie, welcome to the TARFS(4) page from the Kernel Interfaces Manual. Itβs giving tarball filesystem realness, and Iβm gonna walk you through it. no cap.
β¨ NAME β¨
tarfsβ tarball filesystem π
πΈ SYNOPSIS πΈ
To compile this driver into the kernel, place the following line in your kernel configuration file:
options TARFS
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
tarfs_load="YES"
π¦ DESCRIPTION π¦
The tarfs driver implements a read-only filesystem backed by a tar(5) file. Currently, only POSIX archives, optionally compressed with zstd(1), are supported.
The preferred I/O size for tarfs filesystems can be adjusted using the vfs.tarfs.ioshift sysctl setting and tunable. Setting it to 0 will reset it to its default value. Note that changes to this setting only apply to filesystems mounted after the change β so if you want the new size, mount after you change it, iykyk.
When the backing tar file is compressed with zstd(1), I/O performance can be improved by ensuring that compressed data is broken up into multiple frames. This helps minimize unnecessary decompression work. When using bsdtar(1) to create the tar file, this can be achieved using the zstd:max-frame-size and zstd:frame-per-file options. Sensible frame sizes are powers of 2 between the systemβs base page size (see arch(7)) and the value of the kern.maxphys sysctl. Smaller frames will generally yield a worse compression ratio and require extra kernel memory to maintain an index, and larger frames will on average require more CPU time to access data when performing random I/O. so itβs a tradeoff, bestie β not every frame size is gonna slay equally π
π₯ DIAGNOSTICS π₯
If enabled by the TARFS_DEBUG kernel option, the vfs.tarfs.debug sysctl setting can be used to control debugging output from the tarfs driver. Debugging output for individual sections of the driver can be enabled by adding together the relevant values from the table below β yes, literally add them together, math girlie:
0x01β Memory allocations0x02β Checksum calculations0x04β Filesystem operations (vfsops)0x08β Path lookups0x10β File operations (vnops)0x20β General I/O0x40β Decompression0x80β Decompression index0x100β Sparse file mapping0x200β Bounce buffer usage
π SEE ALSO π
go be nosy, bestie:
π HISTORY π
The tarfs driver was developed by Stephen J. Kiernan <stevek@FreeBSD.org> and Dag-Erling SmΓΈrgrav <des@FreeBSD.org> for Juniper Networks and Klara Systems. This manual page was written by Dag-Erling SmΓΈrgrav <des@FreeBSD.org> for Juniper Networks and Klara Systems.
xoxo, this page comes from Debian, itβs dated February 14, 2023, and itβs the TARFS(4) manual page πβ¨
π¦ where this page comes from
- freebsd 15.1: base 15.1
- nixpkgs unstable: source
- π the page's license: BSD-2-Clause
- Copyright (c) 2022 Klara, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms