# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2024-03-01 16:53+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BTRFS" msgstr "" #. type: TH #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "Feb 14, 2024" msgstr "" #. type: TH #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "6.7.1" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "btrfs - topics about the BTRFS filesystem (mount options, supported file " "attributes and other)" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This document describes topics related to BTRFS that are not specific to the " "tools. Currently covers:" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "1." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "mount options" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "2." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "filesystem features" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "3." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "checksum algorithms" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "4." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "compression" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "5." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "sysfs interface" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "6." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "filesystem exclusive operations" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "7." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "filesystem limits" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "8." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "bootloader support" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "9." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "file attributes" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "10." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "zoned mode" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "11." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "control device" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "12." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "filesystems with multiple block group profiles" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "13." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "seeding device" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "14." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "RAID56 status and recommended practices" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "15." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "storage model, hardware considerations" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "MOUNT OPTIONS" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BTRFS SPECIFIC MOUNT OPTIONS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This section describes mount options specific to BTRFS. For the generic " "mount options please refer to B manual page. The options are " "sorted alphabetically (discarding the I prefix)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Most mount options apply to the whole filesystem and only options in the " "first mounted subvolume will take effect. This is due to lack of " "implementation and may change in the future. This means that (for example) " "you can\\(aqt set per-subvolume I, I, or I " "using mount options. This should eventually be fixed, but it has proved to " "be difficult to implement correctly within the Linux VFS framework." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Mount options are processed in order, only the last occurrence of an option " "takes effect and may disable other options due to constraints (see e.g. " "I and I). The output of B command shows which " "options have been applied." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(default: on)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Enable/disable support for POSIX Access Control Lists (ACLs). See the " "B manual page for more information about ACLs." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The support for ACL is build-time configurable (BTRFS_FS_POSIX_ACL) and " "mount fails if I is requested but the feature is not compiled in." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 3.0, default: off)" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Enable automatic file defragmentation. When enabled, small random writes " "into files (in a range of tens of kilobytes, currently it\\(aqs 64KiB) are " "detected and queued up for the defragmentation process. May not be well " "suited for large database workloads." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The read latency may increase due to reading the adjacent blocks that make " "up the range for defragmentation, successive write will merge the blocks in " "the new location." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Defragmenting with Linux kernel versions E 3.9 or ≥ 3.14-rc2 as well as " "with Linux stable kernel versions ≥ 3.10.31, ≥ 3.12.12 or ≥ 3.13.4 will " "break up the reflinks of COW data (for example files copied with B, snapshots or de-duplicated data). This may cause considerable " "increase of space usage depending on the broken up reflinks." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Ensure that all IO write operations make it through the device cache and are " "stored permanently when the filesystem is at its consistency checkpoint. " "This typically means that a flush command is sent to the device that will " "synchronize all pending data and ordinary metadata blocks, then writes the " "superblock and issues another flush." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The write flushes incur a slight hit and also prevent the IO block scheduler " "to reorder requests in a more effective way. Disabling barriers gets rid of " "that penalty but will most certainly lead to a corrupted filesystem in case " "of a crash or power loss. The ordinary metadata blocks could be yet " "unwritten at the time the new superblock is stored permanently, expecting " "that the block pointers to metadata were stored permanently before." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On a device with a volatile battery-backed write-back cache, the " "I option will not lead to filesystem corruption as the pending " "blocks are supposed to make it to the permanent storage." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BvalueE>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "These debugging options control the behavior of the integrity checking " "module (the BTRFS_FS_CHECK_INTEGRITY config option required). The main goal " "is to verify that all blocks from a given transaction period are properly " "linked." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I enables the integrity checker module, which examines all block " "write requests to ensure on-disk consistency, at a large memory and CPU cost." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I includes extent data in the integrity checks, and implies " "the I option." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I takes a bitmask of BTRFSIC_PRINT_MASK_* values as " "defined in I, to control the integrity checker " "module behavior." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "See comments at the top of I for more " "information." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Force clearing and rebuilding of the free space cache if something has gone " "wrong." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For free space cache I, this only clears (and, unless I " "is used, rebuilds) the free space cache for block groups that are modified " "while the filesystem is mounted with that option. To actually clear an " "entire free space cache I, see B\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For free space cache I, this clears the entire free space cache. To do " "so without requiring to mounting the filesystem, see B\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "See also: I\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BsecondsE>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 3.12, default: 30)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Set the interval of periodic transaction commit when data are synchronized " "to permanent storage. Higher interval values lead to larger amount of " "unwritten data, which has obvious consequences when the system crashes. The " "upper bound is not forced, but a warning is printed if it\\(aqs more than " "300 seconds (5 minutes). Use with care." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Btype[:level]E, compress-force, compress-force=Etype[:level]E>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(default: off, level support since: 5.1)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Control BTRFS file data compression. Type may be specified as I, " "I, I or I (for no compression, used for remounting). If no " "type is specified, I is used. If I is specified, then " "compression will always be attempted, but the data may end up uncompressed " "if the compression would make them larger." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Both I and I (since version 5.1) expose the compression level as " "a tunable knob with higher levels trading speed and memory (I) for " "higher compression ratios. This can be set by appending a colon and the " "desired level. ZLIB accepts the range [1, 9] and ZSTD accepts [1, 15]. If " "no level is set, both currently use a default level of 3. The value 0 is an " "alias for the default level." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Otherwise some simple heuristics are applied to detect an incompressible " "file. If the first blocks written to a file are not compressible, the whole " "file is permanently marked to skip compression. As this is too simple, the " "I is a workaround that will compress most of the files at " "the cost of some wasted CPU cycles on failed attempts. Since kernel 4.15, a " "set of heuristic algorithms have been improved by using frequency sampling, " "repeated pattern detection and Shannon entropy calculation to avoid that." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "If compression is enabled, I and I are disabled." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Enable data copy-on-write for newly created files. I implies " "I, and disables I\\&. All files created under " "I are also set the NOCOW file attribute (see B)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "If I or I are enabled, compression is disabled." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Updates in-place improve performance for workloads that do frequent " "overwrites, at the cost of potential partial writes, in case the write is " "interrupted (system crash, device failure)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Enable data checksumming for newly created files. I implies " "I, i.e. the normal mode of operation. All files created under " "I inherit the \"no checksums\" property, however there\\(aqs no " "corresponding file attribute (see B)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There is a slight performance gain when checksums are turned off, the " "corresponding metadata blocks holding the checksums do not need to updated. " "The cost of checksumming of the blocks in memory is much lower than the IO, " "modern CPUs feature hardware support of the checksumming algorithm." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(default: off)" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Allow mounts with fewer devices than the RAID profile constraints require. " "A read-write mount (or remount) may fail when there are too many devices " "missing, for example if a stripe member is completely missing from RAID0." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since 4.14, the constraint checks have been improved and are verified on the " "chunk level, not at the device level. This allows degraded mounts of " "filesystems with mixed RAID profiles for data and metadata, even if the " "device number constraints would not be satisfied for some of the profiles." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Example: metadata -- raid1, data -- single, devices -- B, B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Suppose the data are completely stored on I, then missing I will " "not prevent the mount, even if 1 missing device would normally prevent " "(any) I profile to mount. In case some of the data chunks are " "stored on I, then the constraint of single/data is not satisfied and " "the filesystem cannot be mounted." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BdevicepathE>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Specify a path to a device that will be scanned for BTRFS filesystem during " "mount. This is usually done automatically by a device manager (like udev) or " "using the B command (e.g. run from the initial ramdisk). " "In cases where this is not possible the I mount option can help." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Booting e.g. a RAID1 system may fail even if all filesystem\\(aqs I " "paths are provided as the actual device nodes may not be discovered by the " "system at that point." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(default: async when devices support it since 6.2, async support since: 5.6)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Enable discarding of freed file blocks. This is useful for SSD devices, " "thinly provisioned LUNs, or virtual machine images; however, every storage " "layer must support discard for it to work." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the synchronous mode (I or without option value), lack of " "asynchronous queued TRIM on the backing device TRIM can severely degrade " "performance, because a synchronous TRIM operation will be attempted instead. " "Queued TRIM requires newer than SATA revision 3.1 chipsets and devices." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The asynchronous mode (I) gathers extents in larger chunks before " "sending them to the devices for TRIM. The overhead and performance impact " "should be negligible compared to the previous mode and it\\(aqs supposed to " "be the preferred mode if needed." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If it is not necessary to immediately discard freed blocks, then the " "B tool can be used to discard all free blocks in a batch. Scheduling " "a TRIM during a period of low system activity will prevent latent " "interference with the performance of other operations. Also, a device may " "ignore the TRIM command if the range is too small, so running a batch " "discard has a greater probability of actually discarding the blocks." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Enable verbose output for some ENOSPC conditions. It\\(aqs safe to use but " "can be noisy if the system reaches near-full state." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BactionE>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 3.4, default: bug)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Action to take when encountering a fatal error." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I on a fatal error, the system will stay in the crashed state and may " "be still partially usable, but reboot is required for full operation" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I on a fatal error, depending on other system configuration, this " "may be followed by a reboot. Please refer to the documentation of kernel " "boot parameters, e.g. I, I or I\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This option forces any data dirtied by a write in a prior transaction to " "commit as part of the current commit, effectively a full filesystem sync." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This makes the committed state a fully consistent view of the file system " "from the application\\(aqs perspective (i.e. it includes all completed file " "system operations). This was previously the behavior only when a snapshot " "was created." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When off, the filesystem is consistent but buffered writes may last more " "than one transaction commit." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BtypeE>" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(depends on compile-time option CONFIG_BTRFS_DEBUG, since: 4.4, default: off)" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A debugging helper to intentionally fragment given I of block groups. " "The type can be I, I or I\\&. This mount option should " "not be used outside of debugging environments and is not recognized if the " "kernel config option I is not enabled." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(default: off, even read-only)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The tree-log contains pending updates to the filesystem until the full " "commit. The log is replayed on next mount, this can be disabled by this " "option. See also I\\&. Note that I is the same as " "I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Currently, the tree log is replayed even with a read-only mount! To disable " "that behaviour, mount also with I\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BbytesE>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(default: min(2048, page size) )" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Specify the maximum amount of space, that can be inlined in a metadata b-" "tree leaf. The value is specified in bytes, optionally with a K suffix " "(case insensitive). In practice, this value is limited by the filesystem " "block size (named I at mkfs time), and memory page size of the " "system. In case of sectorsize limit, there\\(aqs some space unavailable due " "to b-tree leaf headers. For example, a 4KiB sectorsize, maximum size of " "inline data is about 3900 bytes." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Inlining can be completely turned off by specifying 0. This will increase " "data block slack if file sizes are much smaller than block size but will " "reduce metadata consumption in return." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The default value has changed to 2048 in kernel 4.6." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BvalueE>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(default: 0, internal logic)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Specifies that 1 metadata chunk should be allocated after every I " "data chunks. Default behaviour depends on internal logic, some percent of " "unused metadata space is attempted to be maintained but is not always " "possible if there\\(aqs not enough space left for chunk allocation. The " "option could be useful to override the internal logic in favor of the " "metadata allocation if the expected workload is supposed to be metadata " "intense (snapshots, reflinks, xattrs, inlined files)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 4.5, default: off)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Do not attempt any data recovery at mount time. This will disable " "I and avoids other write operations. Note that this option is the " "same as I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The opposite option I used to have different meaning but was " "changed for consistency with other filesystems, where I is used " "for skipping log replay. BTRFS does the same and in general will try to " "avoid any write operations." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 3.12, default: off)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Force check and rebuild procedure of the UUID tree. This should not normally " "be needed." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 5.9)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Modes allowing mount with damaged filesystem structures." msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "\\(bu" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I (since: 5.9, replaces standalone option I)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I (since: 5.9, replaces standalone option I)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I, I (since: 5.11)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I, I (since: 5.11)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I (since: 5.9)" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 3.3, default: off)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Skip automatic resume of an interrupted balance operation. The operation can " "later be resumed with B, or the paused state can be " "removed with B\\&. The default behaviour is to resume " "an interrupted balance immediately after a volume is mounted." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BversionE, nospace_cache>" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(I since: 3.2, I and I since " "4.5, default: I)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Options to control the free space cache. The free space cache greatly " "improves performance when reading block group free space into memory. " "However, managing the space cache consumes some resources, including a small " "amount of disk space." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There are two implementations of the free space cache. The original one, " "referred to as I, used to be a safe default but has been superseded by " "I\\&. The I space cache can be disabled at mount time with " "I without clearing." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On very large filesystems (many terabytes) and certain workloads, the " "performance of the I space cache may degrade drastically. The I " "implementation, which adds a new b-tree called the free space tree, " "addresses this issue. Once enabled, the I space cache will always be " "used and cannot be disabled unless it is cleared. Use I or I to do so. If I is " "enabled, and I space cache will be cleared (at the first mount) and " "kernels without I support will only be able to mount the filesystem in " "read-only mode. On an unmounted filesystem the caches (both versions) can " "be cleared by \"btrfs check --clear-space-cache\"." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I<\\%btrfs-check(8)> and I<:doc:\\(gamkfs.btrfs> commands have full " "I free space cache support since v4.19." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If a version is not explicitly specified, the default implementation will be " "chosen, which is I\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(default: SSD autodetected)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Options to control SSD allocation schemes. By default, BTRFS will enable or " "disable SSD optimizations depending on status of a device with respect to " "rotational or non-rotational type. This is determined by the contents of I). If it is 0, the I option is turned " "on. The option I will disable the autodetection." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The optimizations make use of the absence of the seek penalty that\\(aqs " "inherent for the rotational devices. The blocks can be typically written " "faster and are not offloaded to separate threads." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since 4.14, the block layout optimizations have been dropped. This used to " "help with first generations of SSD devices. Their FTL (flash translation " "layer) was not effective and the optimization was supposed to improve the " "wear by better aligning blocks. This is no longer true with modern SSD " "devices and the optimization had no real benefit. Furthermore it caused " "increased fragmentation. The layout tuning has been kept intact for the " "option I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I mount option attempts to allocate into bigger and aligned " "chunks of unused space, and may perform better on low-end SSDs. " "I implies I, enabling all other SSD heuristics as well. The " "option I will disable all SSD options while I only " "disables I\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BpathE>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Mount subvolume from I rather than the toplevel subvolume. The I " "is always treated as relative to the toplevel subvolume. This mount option " "overrides the default subvolume set for the given filesystem." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BsubvolidE>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Mount subvolume specified by a I number rather than the toplevel " "subvolume. You can use B of B " "to see subvolume ID numbers. This mount option overrides the default " "subvolume set for the given filesystem." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If both I and I are specified, they must point at the same " "subvolume, otherwise the mount will fail." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BnumberE>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(default: min(NRCPUS + 2, 8) )" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The number of worker threads to start. NRCPUS is number of on-line CPUs " "detected at the time of mount. Small number leads to less parallelism in " "processing data and metadata, higher numbers could lead to a performance hit " "due to increased locking contention, process scheduling, cache-line bouncing " "or costly data transfers between local CPU memories." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Enable the tree logging used for I and I writes. The tree log " "stores changes without the need of a full filesystem sync. The log " "operations are flushed at sync and transaction commit. If the system crashes " "between two such syncs, the pending tree log operations are replayed during " "mount." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Currently, the tree log is replayed even with a read-only mount! To disable " "that behaviour, also mount with I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The tree log could contain new files/directories, these would not exist on a " "mounted filesystem if the log is not replayed." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 4.6, default: off)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Enable autorecovery attempts if a bad tree root is found at mount time. " "Currently this scans a backup list of several previous tree roots and tries " "to use the first readable. This can be used with read-only mounts as well." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "This option has replaced I\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Allow subvolumes to be deleted by their respective owner. Otherwise, only " "the root user can do that." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Historically, any user could create a snapshot even if he was not owner of " "the source subvolume, the subvolume deletion has been restricted for that " "reason. The subvolume creation has been restricted but this mount option is " "still required. This is a usability issue. Since 4.18, the B " "syscall can delete an empty subvolume just like an ordinary directory. " "Whether this is possible can be detected at runtime, see I " "feature in I\\&." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DEPRECATED MOUNT OPTIONS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "List of mount options that have been removed, kept for backward " "compatibility." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 3.2, default: off, deprecated since: 4.5)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This option has been replaced by I and should not be used but " "will work on 4.5+ kernels." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(removed in: 5.11, since: 3.0, default: off)" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "The functionality has been removed in 5.11, any stale data created by " "previous use of the I option can be removed by I<\\%btrfs " "rescue clear-ino-cache>\\&." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES ON GENERIC MOUNT OPTIONS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Some of the general mount options from B that affect BTRFS and are " "worth mentioning." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "under read intensive work-loads, specifying I significantly " "improves performance because no new access time information needs to be " "written. Without this option, the default is I, which only reduces " "the number of inode atime updates in comparison to the traditional " "I\\&. The worst case for atime updates under I occurs " "when many files are read whose atime is older than 24 h and which are " "freshly snapshotted. In that case the atime is updated and COW happens - for " "each file - in bulk. See also I<\\%https://lwn.net/Articles/499293/> - " "I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that I may break applications that rely on atime uptimes like " "the venerable Mutt (unless you use maildir mailboxes)." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "FILESYSTEM FEATURES" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The basic set of filesystem features gets extended over time. The backward " "compatibility is maintained and the features are optional, need to be " "explicitly asked for so accidental use will not create incompatibilities." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There are several classes and the respective tools to manage the features:" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This is namely for core structures, like the b-tree nodesize or checksum " "algorithm, see I<\\%mkfs.btrfs(8)> for more details." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Features that may optimize internal structures or add new structures to " "support new functionality, see I<\\%btrfstune(8)>\\&. The command B will dump a superblock, you can map " "the value of I to the features listed below" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The features of a filesystem (with a given UUID) are listed in B, one file per feature. The status is stored inside the " "file. The value I<1> is for enabled and active, while I<0> means the feature " "was enabled at mount time but turned off afterwards." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Whether a particular feature can be turned on a mounted filesystem can be " "found in the directory B, one file per feature. The " "value I<1> means the feature can be enabled." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "List of features (see also I<\\%mkfs.btrfs(8)> section I<\\%FILESYSTEM " "FEATURES>):" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 3.4)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "the filesystem uses I for metadata blocks, this can be bigger than " "the page size" msgstr "" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 6.1)" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "block group item representation using a dedicated b-tree, this can greatly " "reduce mount time for large filesystems" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 2.6.38)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "the I compression has been used on the filesystem, either as a mount " "option or via B\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 4.14)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "the I compression has been used on the filesystem, either as a mount " "option or via B\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 2.6.34)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "the default subvolume has been set on the filesystem" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 3.7)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "increased hardlink limit per file in a directory to 65536, older kernels " "supported a varying number of hardlinks depending on the sum of all file " "name sizes that can be stored into one metadata block" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 4.5)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "free space representation using a dedicated b-tree, successor of v1 space " "cache" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 5.0)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "the main filesystem UUID is the metadata_uuid, which stores the new UUID " "only in the superblock while all metadata blocks still have the UUID set at " "mkfs time, see I<\\%btrfstune(8)> for more" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 2.6.31)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "the last major disk format change, improved backreferences, now default" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 2.6.37)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "mixed data and metadata block groups, i.e. the data and metadata are not " "separated and occupy the same block groups, this mode is suitable for small " "volumes as there are no constraints how the remaining space should be used " "(compared to the split mode, where empty metadata space cannot be used for " "data and vice versa)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "on the other hand, the final layout is quite unpredictable and possibly " "highly fragmented, which means worse performance" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 3.14)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "improved representation of file extents where holes are not explicitly " "stored as an extent, saves a few percent of metadata if sparse files are used" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 5.5)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "extended RAID1 mode with copies on 3 or 4 devices respectively" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 3.9)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "the filesystem contains or contained a RAID56 profile of block groups" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 4.18)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "indicate that B syscall can delete an empty subvolume just like an " "ordinary directory. Note that this feature only depends on the kernel " "version." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 3.10)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "reduced-size metadata for extent references, saves a few percent of metadata" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 5.10)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "number of the highest supported send stream version" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "list of checksum algorithms supported by the kernel module, the respective " "modules or built-in implementing the algorithms need to be present to mount " "the filesystem, see section I<\\%CHECKSUM ALGORITHMS>\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 5.13)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "list of values that are accepted as sector sizes (B) by the running kernel" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 5.11)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "list of values for the mount option I that are supported by the " "running kernel, see I<\\%btrfs(5)>" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since: 5.12)" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "zoned mode is allocation/write friendly to host-managed zoned devices, " "allocation space is partitioned into fixed-size zones that must be updated " "sequentially, see section I<\\%ZONED MODE>" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SWAPFILE SUPPORT" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A swapfile, when active, is a file-backed swap area. It is supported since " "kernel 5.0. Use B to activate it, until then (respectively again " "after deactivating it with B) it\\(aqs just a normal file (with " "NODATACOW set), for which the special restrictions for active swapfiles " "don\\(aqt apply." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There are some limitations of the implementation in BTRFS and Linux swap " "subsystem:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "filesystem - must be only single device" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "filesystem - must have only I data profile" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "subvolume - cannot be snapshotted if it contains any active swapfiles" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "swapfile - must be preallocated (i.e. no holes)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "swapfile - must be NODATACOW (i.e. also NODATASUM, no compression)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The limitations come namely from the COW-based design and mapping layer of " "blocks that allows the advanced features like relocation and multi-device " "filesystems. However, the swap subsystem expects simpler mapping and no " "background changes of the file block location once they\\(aqve been assigned " "to swap." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "With active swapfiles, the following whole-filesystem operations will skip " "swapfile extents or may fail:" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "balance - block groups with extents of any active swapfiles are skipped and " "reported, the rest will be processed normally" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "resize grow - unaffected" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "resize shrink - works as long as the extents of any active swapfiles are " "outside of the shrunk range" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "device add - if the new devices do not interfere with any already active " "swapfiles this operation will work, though no new swapfile can be activated " "afterwards" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "device delete - if the device has been added as above, it can be also deleted" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "device replace - ditto" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When there are no active swapfiles and a whole-filesystem exclusive " "operation is running (e.g. balance, device delete, shrink), the swapfiles " "cannot be temporarily activated. The operation must finish first." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "To create and activate a swapfile run the following commands:" msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "# truncate -s 0 swapfile\n" "# chattr +C swapfile\n" "# fallocate -l 2G swapfile\n" "# chmod 0600 swapfile\n" "# mkswap swapfile\n" "# swapon swapfile\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since version 6.1 it\\(aqs possible to create the swapfile in a single " "command (except the activation):" msgstr "" #. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron opensuse-leap-15-6 #: opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "# btrfs filesystem mkswapfile --size 2G swapfile\n" "# swapon swapfile\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Please note that the UUID returned by the I utility identifies the " "swap \"filesystem\" and because it\\(aqs stored in a file, it\\(aqs not " "generally visible and usable as an identifier unlike if it was on a block " "device." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "Once activated the file will appear in B:" msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "# cat /proc/swaps\n" "Filename Type Size Used Priority\n" "/path/swapfile file 2097152 0 -2\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The swapfile can be created as one-time operation or, once properly created, " "activated on each boot by the B command (usually started by the " "service manager). Add the following entry to I, assuming the " "filesystem that provides the I has been already mounted at this " "point. Additional mount options relevant for the swapfile can be set too " "(like priority, not the BTRFS mount options)." msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "/path/swapfile none swap defaults 0 0\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "From now on the subvolume with the active swapfile cannot be snapshotted " "until the swapfile is deactivated again by B\\&. Then the swapfile " "is a regular file and the subvolume can be snapshotted again, though this " "would prevent another activation any swapfile that has been snapshotted. New " "swapfiles (not snapshotted) can be created and activated." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Otherwise, an inactive swapfile does not affect the containing subvolume. " "Activation creates a temporary in-memory status and prevents some file " "operations, but is not stored permanently." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HIBERNATION" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A swapfile can be used for hibernation but it\\(aqs not straightforward. " "Before hibernation a resume offset must be written to file I or the kernel command line parameter I must be " "set." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The value is the physical offset on the device. Note that B B B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Btrfs filesystem uses mapping between logical and physical addresses but " "here the physical can still map to one or more device-specific physical " "block addresses. It\\(aqs the device-specific physical offset that is " "suitable as resume offset." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since version 6.1 there\\(aqs a command I<\\%btrfs inspect-internal map-" "swapfile> that will print the device physical offset and the adjusted value " "for B\\&. Note that the value is divided by page " "size, i.e. it\\(aqs not the offset itself." msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "# btrfs filesystem mkswapfile swapfile\n" "# btrfs inspect-internal map-swapfile swapfile\n" "Physical start: 811511726080\n" "Resume offset: 198122980\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For scripting and convenience the option I<-r> will print just the offset:" msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "# btrfs inspect-internal map-swapfile -r swapfile\n" "198122980\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The command B also verifies all the requirements, i.e. no " "holes, single device, etc." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "TROUBLESHOOTING" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the swapfile activation fails please verify that you followed all the " "steps above or check the system log (e.g. B or B) for " "more information." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Notably, the B utility exits with a message that does not say what " "failed:" msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "# swapon /path/swapfile\n" "swapon: /path/swapfile: swapon failed: Invalid argument\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The specific reason is likely to be printed to the system log by the btrfs " "module:" msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "# journalctl -t kernel | grep swapfile\n" "kernel: BTRFS warning (device sda): swapfile must have single data profile\n" "^\".ft P$\n" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "CHECKSUM ALGORITHMS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Data and metadata are checksummed by default, the checksum is calculated " "before write and verified after reading the blocks from devices. The whole " "metadata block has a checksum stored inline in the b-tree node header, each " "data block has a detached checksum stored in the checksum tree." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There are several checksum algorithms supported. The default and backward " "compatible is I\\&. Since kernel 5.5 there are three more with " "different characteristics and trade-offs regarding speed and strength. The " "following list may help you to decide which one to select." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "default, best backward compatibility, very fast, modern CPUs have " "instruction-level support, not collision-resistant but still good error " "detection capabilities" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "can be used as CRC32C successor, very fast, optimized for modern CPUs " "utilizing instruction pipelining, good collision resistance and error " "detection" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "a cryptographic-strength hash, relatively slow but with possible CPU " "instruction acceleration or specialized hardware cards, FIPS certified and " "in wide use" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "a cryptographic-strength hash, relatively fast with possible CPU " "acceleration using SIMD extensions, not standardized but based on BLAKE " "which was a SHA3 finalist, in wide use, the algorithm used is BLAKE2b-256 " "that\\(aqs optimized for 64bit platforms" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I affects overall size of data block checksums stored in " "the filesystem. The metadata blocks have a fixed area up to 256 bits (32 " "bytes), so there\\(aqs no increase. Each data block has a separate checksum " "stored, with additional overhead of the b-tree leaves." msgstr "" #. type: Plain text #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Approximate relative performance of the algorithms, measured against CRC32C " "using implementations on a 11th gen 3.6GHz intel CPU:" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "_" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Digest" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Cycles/4KiB" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Ratio" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Implementation" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "CRC32C" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "470" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "1.00" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "CPU instruction, PCL combination" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "XXHASH" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "870" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "1.9" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "reference impl." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SHA256" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "7600" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "16" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "libgcrypt" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "8500" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "18" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "openssl" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "8700" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "botan" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "32000" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "68" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "builtin, CPU instruction" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "37000" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "78" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "libsodium" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "78000" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "166" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "builtin, reference impl." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BLAKE2b" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "10000" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "21" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "builtin/AVX2" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "10900" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "23" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "13500" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "29" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "builtin/SSE41" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "13700" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "14100" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "30" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "14500" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "31" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "kcapi" msgstr "" #. type: tbl table #: archlinux fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "34" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Many kernels are configured with SHA256 as built-in and not as a module. " "The accelerated versions are however provided by the modules and must be " "loaded explicitly (B) before mounting the filesystem to " "make use of them. You can check in B which one " "is used. If you see I, then you may want to unmount and " "mount the filesystem again, changing that on a mounted filesystem is not " "possible. Check the file B, when the implementation is built-" "in, you\\(aqd find" msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "name : sha256\n" "driver : sha256-generic\n" "module : kernel\n" "priority : 100\n" "\\&...\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "while accelerated implementation is e.g." msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "name : sha256\n" "driver : sha256-avx2\n" "module : sha256_ssse3\n" "priority : 170\n" "\\&...\n" "^\".ft P$\n" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "COMPRESSION" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Btrfs supports transparent file compression. There are three algorithms " "available: ZLIB, LZO and ZSTD (since v4.14), with various levels. The " "compression happens on the level of file extents and the algorithm is " "selected by file property, mount option or by a defrag command. You can " "have a single btrfs mount point that has some files that are uncompressed, " "some that are compressed with LZO, some with ZLIB, for instance (though you " "may not want it that way, it is supported)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Once the compression is set, all newly written data will be compressed, i." "e. existing data are untouched. Data are split into smaller chunks (128KiB) " "before compression to make random rewrites possible without a high " "performance hit. Due to the increased number of extents the metadata " "consumption is higher. The chunks are compressed in parallel." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The algorithms can be characterized as follows regarding the speed/ratio " "trade-offs:" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "slower, higher compression ratio" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "levels: 1 to 9, mapped directly, default level is 3" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "good backward compatibility" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "faster compression and decompression than ZLIB, worse compression ratio, " "designed to be fast" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "no levels" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "compression comparable to ZLIB with higher compression/decompression speeds " "and different ratio" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "levels: 1 to 15, mapped directly (higher levels are not available)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "since 4.14, levels since 5.1" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The differences depend on the actual data set and cannot be expressed by a " "single number or recommendation. Higher levels consume more CPU time and may " "not bring a significant improvement, lower levels are close to real time." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HOW TO ENABLE COMPRESSION" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Typically the compression can be enabled on the whole filesystem, specified " "for the mount point. Note that the compression mount options are shared " "among all mounts of the same filesystem, either bind mounts or subvolume " "mounts. Please refer to I<\\%btrfs(5)> section I<\\%MOUNT OPTIONS>\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "$ mount -o compress=zstd /dev/sdx /mnt\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This will enable the B algorithm on the default level (which is 3). " "The level can be specified manually too like B\\&. Higher levels " "compress better at the cost of time. This in turn may cause increased write " "latency, low levels are suitable for real-time compression and on reasonably " "fast CPU don\\(aqt cause noticeable performance drops." msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "$ btrfs filesystem defrag -czstd file\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The command above will start defragmentation of the whole I and apply " "the compression, regardless of the mount option. (Note: specifying level is " "not yet implemented). The compression algorithm is not persistent and " "applies only to the defragmentation command, for any other writes other " "compression settings apply." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Persistent settings on a per-file basis can be set in two ways:" msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "$ chattr +c file\n" "$ btrfs property set file compression zstd\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The first command is using legacy interface of file attributes inherited " "from ext2 filesystem and is not flexible, so by default the I " "compression is set. The other command sets a property on the file with the " "given algorithm. (Note: setting level that way is not yet implemented.)" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "COMPRESSION LEVELS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The level support of ZLIB has been added in v4.14, LZO does not support " "levels (the kernel implementation provides only one), ZSTD level support has " "been added in v5.1." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There are 9 levels of ZLIB supported (1 to 9), mapping 1:1 from the mount " "option to the algorithm defined level. The default is level 3, which " "provides the reasonably good compression ratio and is still reasonably fast. " "The difference in compression gain of levels 7, 8 and 9 is comparable but " "the higher levels take longer." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The ZSTD support includes levels 1 to 15, a subset of full range of what " "ZSTD provides. Levels 1-3 are real-time, 4-8 slower with improved " "compression and 9-15 try even harder though the resulting size may not be " "significantly improved." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Level 0 always maps to the default. The compression level does not affect " "compatibility." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "INCOMPRESSIBLE DATA" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Files with already compressed data or with data that won\\(aqt compress well " "with the CPU and memory constraints of the kernel implementations are using " "a simple decision logic. If the first portion of data being compressed is " "not smaller than the original, the compression of the file is disabled -- " "unless the filesystem is mounted with I\\&. In that case " "compression will always be attempted on the file only to be later discarded. " "This is not optimal and subject to optimizations and further development." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If a file is identified as incompressible, a flag is set (I) and " "it\\(aqs sticky. On that file compression won\\(aqt be performed unless " "forced. The flag can be also set by B (since e2fsprogs 1.46.2) or " "by properties with value I or I\\&. Empty value will reset it to " "the default that\\(aqs currently applicable on the mounted filesystem." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "There are two ways to detect incompressible data:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "actual compression attempt - data are compressed, if the result is not " "smaller, it\\(aqs discarded, so this depends on the algorithm and level" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "pre-compression heuristics - a quick statistical evaluation on the data is " "performed and based on the result either compression is performed or " "skipped, the NOCOMPRESS bit is not set just by the heuristic, only if the " "compression algorithm does not make an improvement" msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "$ lsattr file\n" "---------------------m file\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Using the forcing compression is not recommended, the heuristics are " "supposed to decide that and compression algorithms internally detect " "incompressible data too." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "PRE-COMPRESSION HEURISTICS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The heuristics aim to do a few quick statistical tests on the compressed " "data in order to avoid probably costly compression that would turn out to be " "inefficient. Compression algorithms could have internal detection of " "incompressible data too but this leads to more overhead as the compression " "is done in another thread and has to write the data anyway. The heuristic is " "read-only and can utilize cached memory." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The tests performed based on the following: data sampling, long repeated " "pattern detection, byte frequency, Shannon entropy." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "COMPATIBILITY" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Compression is done using the COW mechanism so it\\(aqs incompatible with " "I\\&. Direct IO works on compressed files but will fall back to " "buffered writes and leads to recompression. Currently I and " "compression don\\(aqt work together." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The compression algorithms have been added over time so the version " "compatibility should be also considered, together with other tools that may " "access the compressed data like bootloaders." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYSFS INTERFACE" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Btrfs has a sysfs interface to provide extra knobs." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The top level path is B, and the main directory layout is " "the following:" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Relative Path" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Description" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Version" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "features/" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "All supported features" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "3.14+" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EUUIDE/" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Mounted fs UUID" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EUUIDE/allocation/" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Space allocation info" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EUUIDE/features/" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Features of the filesystem" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EUUIDE/devices/EDEVIDE/" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Symlink to each block device sysfs" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "5.6+" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EUUIDE/devinfo/EDEVIDE/" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Btrfs specific info for each device" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EUUIDE/qgroups/" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Global qgroup info" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "5.9+" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EUUIDE/qgroups/ELEVELE_EIDE/" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Info for each qgroup" msgstr "" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EUUIDE/discard/" msgstr "" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Discard stats and tunables" msgstr "" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "6.1+" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For B directory, each file means a supported " "feature for the current kernel." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For BUUIDE/features/> directory, each file means an " "enabled feature for the mounted filesystem." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The features shares the same name in section I<\\%FILESYSTEM FEATURES>\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "Files in BUUIDE/> directory are:" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(RW, since: 5.19)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Used space percentage of total device space to start auto block group " "claim. Mostly for zoned devices." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(RO, since: 5.5)" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The checksum used for the mounted filesystem. This includes both the " "checksum type (see section I<\\%CHECKSUM ALGORITHMS>) and the implemented " "driver (mostly shows if it\\(aqs hardware accelerated)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(RO, since: 3.16)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The bytes alignment for I and I ioctls." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(RW, since: 6.0)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The performance statistics for btrfs transaction commit. Mostly for debug " "purposes." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Writing into this file will reset the maximum commit duration to the input " "value." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(RO, since: 5.10)" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Shows the running exclusive operation. Check section I<\\%FILESYSTEM " "EXCLUSIVE OPERATIONS> for details." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(RO, since: 5.11)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Show the generation of the mounted filesystem." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B ready for use." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There is a known bug with using remount to make the mount writeable: remount " "will leave the filesystem in a state where it is unable to clean deleted " "snapshots, so it will leak space until it is unmounted and mounted properly." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Furthermore, deleting the seeding device from the filesystem can turn it " "into a normal filesystem, provided that the writable device can also contain " "all the data from the seeding device." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The seeding device flag can be cleared again by B, e.g. " "allowing to update with newer data but please note that this will invalidate " "all existing filesystems that use this particular seeding device. This works " "for some use cases, not for others, and the forcing flag to the command is " "mandatory to avoid accidental mistakes." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Example how to create and use one seeding device:" msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "# mkfs.btrfs /dev/sda\n" "# mount /dev/sda /mnt/mnt1\n" "\\&... fill mnt1 with data\n" "# umount /mnt/mnt1\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "# btrfstune -S 1 /dev/sda\n" msgstr "" #. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron opensuse-leap-15-6 #: opensuse-tumbleweed #, no-wrap msgid "" "# mount /dev/sda /mnt/mnt1\n" "# btrfs device add /dev/sdb /mnt/mnt1\n" "# umount /mnt/mnt1\n" "# mount /dev/sdb /mnt/mnt1\n" "\\&... /mnt/mnt1 is now writable\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Now B can be used normally. The device B can be mounted " "again with a another writable device:" msgstr "" #. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron opensuse-leap-15-6 #: opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "# mount /dev/sda /mnt/mnt2\n" "# btrfs device add /dev/sdc /mnt/mnt2\n" "# umount /mnt/mnt2\n" "# mount /dev/sdc /mnt/mnt2\n" "\\&... /mnt/mnt2 is now writable\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The writable device (file:I) can be decoupled from the seeding " "device and used independently:" msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "^\".ft C$\n" "# btrfs device delete /dev/sda /mnt/mnt1\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As the contents originated in the seeding device, it\\(aqs possible to turn " "B to a seeding device again and repeat the whole process." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "A few things to note:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "it\\(aqs recommended to use only single device for the seeding device, it " "works for multiple devices but the I profile must be used in order " "to make the seeding device deletion work" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "block group profiles I and I support the use cases above" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "the label is copied from the seeding device and can be changed by B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "each new mount of the seeding device gets a new random UUID" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B can be replaced with B but it won\\(aqt reclaim space of deleted subvolumes until " "the seeding device is mounted read-write again before making it seeding again" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Chained seeding devices" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Though it\\(aqs not recommended and is rather an obscure and untested use " "case, chaining seeding devices is possible. In the first example, the " "writable device B can be turned onto another seeding device again, " "depending on the unchanged seeding device B\\&. Then using B as the primary seeding device it can be extended with another writable " "device, say B, and it continues as before as a simple tree " "structure on devices." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "# mount /dev/sda /mnt/mnt1\n" "# btrfs device add /dev/sdb /mnt/mnt1\n" "# mount -o remount,rw /mnt/mnt1\n" "\\&... /mnt/mnt1 is now writable\n" "# umount /mnt/mnt1\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "# btrfstune -S 1 /dev/sdb\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "# mount /dev/sdb /mnt/mnt1\n" "# btrfs device add /dev/sdc /mnt\n" "# mount -o remount,rw /mnt/mnt1\n" "\\&... /mnt/mnt1 is now writable\n" "# umount /mnt/mnt1\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "As a result we have:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I is a single seeding device, with its initial contents" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is a seeding device but requires I, the contents are from the " "time when I is made seeding, i.e. contents of I with any later " "changes" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I last writable, can be made a seeding one the same way as was I, " "preserving its contents and depending on I and I" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As long as the seeding devices are unmodified and available, they can be " "used to start another branch." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RAID56 STATUS AND RECOMMENDED PRACTICES" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The RAID56 feature provides striping and parity over several devices, same " "as the traditional RAID5/6. There are some implementation and design " "deficiencies that make it unreliable for some corner cases and the feature " "B\\&. The " "power failure safety for metadata with RAID56 is not 100%." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Metadata" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Do not use I nor I for metadata. Use I or I " "respectively." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The substitute profiles provide the same guarantees against loss of 1 or 2 " "devices, and in some respect can be an improvement. Recovering from one " "missing device will only need to access the remaining 1st or 2nd copy, that " "in general may be stored on some other devices due to the way RAID1 works on " "btrfs, unlike on a striped profile (similar to I) that would need all " "devices all the time." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The space allocation pattern and consumption is different (e.g. on N " "devices): for I as an example, a 1GiB chunk is reserved on each " "device, while with I there\\(aqs each 1GiB chunk stored on 2 devices. " "The consumption of each 1GiB of used metadata is then I for vs I<2 " "* 1GiB>\\&. Using I is also more convenient for balancing/converting " "to other profile due to lower requirement on the available chunk space." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Missing/incomplete support" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When RAID56 is on the same filesystem with different raid profiles, the " "space reporting is inaccurate, e.g. B, B or B\\&. When there\\(aqs only a one profile per block group " "type (e.g. RAID5 for data) the reporting is accurate." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When scrub is started on a RAID56 filesystem, it\\(aqs started on all " "devices that degrade the performance. The workaround is to start it on each " "device separately. Due to that the device stats may not match the actual " "state and some errors might get reported multiple times." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I problem. An unclean shutdown could leave a partially " "written stripe in a state where the some stripe ranges and the parity are " "from the old writes and some are new. The information which is which is not " "tracked. Write journal is not implemented. Alternatively a full read-modify-" "write would make sure that a full stripe is always written, avoiding the " "write hole completely, but performance in that case turned out to be too bad " "for use." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The striping happens on all available devices (at the time the chunks were " "allocated), so in case a new device is added it may not be utilized " "immediately and would require a rebalance. A fixed configured stripe width " "is not implemented." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STORAGE MODEL, HARDWARE CONSIDERATIONS" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Storage model" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The filesystem assumes several features or limitations of the storage device " "and utilizes them or applies measures to guarantee reliability. BTRFS in " "particular is based on a COW (copy on write) mode of writing, i.e. not " "updating data in place but rather writing a new copy to a different location " "and then atomically switching the pointers." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In an ideal world, the device does what it promises. The filesystem assumes " "that this may not be true so additional mechanisms are applied to either " "detect misbehaving hardware or get valid data by other means. The devices " "may (and do) apply their own detection and repair mechanisms but we " "won\\(aqt assume any." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following assumptions about storage devices are considered (sorted by " "importance, numbers are for further reference):" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "atomicity of reads and writes of blocks/sectors (the smallest unit of data " "the device presents to the upper layers)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "there\\(aqs a flush command that instructs the device to forcibly order " "writes before and after the command; alternatively there\\(aqs a barrier " "command that facilitates the ordering but may not flush the data" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "data sent to write to a given device offset will be written without further " "changes to the data and to the offset" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "writes can be reordered by the device, unless explicitly serialized by the " "flush command" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "reads and writes can be freely reordered and interleaved" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The consistency model of BTRFS builds on these assumptions. The logical data " "updates are grouped, into a generation, written on the device, serialized by " "the flush command and then the super block is written ending the " "generation. All logical links among metadata comprising a consistent view " "of the data may not cross the generation boundary." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "When things go wrong" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I: a partial block contents is written (I), e.g. due to " "a power glitch or other electronics failure during the read/write" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I: checksum mismatch on read" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I: use another copy or rebuild from multiple blocks using some " "encoding scheme" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This is perhaps the most serious problem and impossible to mitigate by " "filesystem without limitations and design restrictions. What could happen in " "the worst case is that writes from one generation bleed to another one, " "while still letting the filesystem consider the generations isolated. Crash " "at any point would leave data on the device in an inconsistent state without " "any hint what exactly got written, what is missing and leading to stale " "metadata link information." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Devices usually honor the flush command, but for performance reasons may do " "internal caching, where the flushed data are not yet persistently stored. A " "power failure could lead to a similar scenario as above, although it\\(aqs " "less likely that later writes would be written before the cached ones. This " "is beyond what a filesystem can take into account. Devices or controllers " "are usually equipped with batteries or capacitors to write the cache " "contents even after power is cut. (I)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Such thing should not happen frequently, but still can happen spuriously due " "the complex internal workings of devices or physical effects of the storage " "media itself." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I: while the data are written atomically, the contents get changed" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This would be another serious problem as the filesystem has no information " "when it happens. For that reason the measures have to be done ahead of " "time. This problem is also commonly called I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The metadata blocks have the checksum embedded in the blocks, so a correct " "atomic write would not corrupt the checksum. It\\(aqs likely that after " "reading such block the data inside would not be consistent with the rest. To " "rule that out there\\(aqs embedded block number in the metadata block. " "It\\(aqs the logical block number because this is what the logical structure " "expects and verifies." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following is based on information publicly available, user feedback, " "community discussions or bug report analyses. It\\(aqs not complete and " "further research is encouraged when in doubt." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Main memory" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The data structures and raw data blocks are temporarily stored in computer " "memory before they get written to the device. It is critical that memory is " "reliable because even simple bit flips can have vast consequences and lead " "to damaged structures, not only in the filesystem but in the whole operating " "system." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Based on experience in the community, memory bit flips are more common than " "one would think. When it happens, it\\(aqs reported by the tree-checker or " "by a checksum mismatch after reading blocks. There are some very obvious " "instances of bit flips that happen, e.g. in an ordered sequence of keys in " "metadata blocks. We can easily infer from the other data what values get " "damaged and how. However, fixing that is not straightforward and would " "require cross-referencing data from the entire filesystem to see the scope." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If available, ECC memory should lower the chances of bit flips, but this " "type of memory is not available in all cases. A memory test should be " "performed in case there\\(aqs a visible bit flip pattern, though this may " "not detect a faulty memory module because the actual load of the system " "could be the factor making the problems appear. In recent years attacks on " "how the memory modules operate have been demonstrated (I) " "achieving specific bits to be flipped. While these were targeted, this " "shows that a series of reads or writes can affect unrelated parts of memory." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Further reading:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I<\\%https://en.wikipedia.org/wiki/Row_hammer>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "What to do:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "run I, note that sometimes memory errors happen only when the " "system is under heavy load that the default memtest cannot trigger" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "memory errors may appear as filesystem going read-only due to \"pre write\" " "check, that verify meta data before they get written but fail some basic " "consistency checks" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Direct memory access (DMA)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Another class of errors is related to DMA (direct memory access) performed " "by device drivers. While this could be considered a software error, the data " "transfers that happen without CPU assistance may accidentally corrupt other " "pages. Storage devices utilize DMA for performance reasons, the filesystem " "structures and data pages are passed back and forth, making errors possible " "in case page life time is not properly tracked." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There are lots of quirks (device-specific workarounds) in Linux kernel " "drivers (regarding not only DMA) that are added when found. The quirks may " "avoid specific errors or disable some features to avoid worse problems." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "use up-to-date kernel (recent releases or maintained long term support " "versions)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "as this may be caused by faulty drivers, keep the systems up-to-date" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Rotational disks (HDD)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Rotational HDDs typically fail at the level of individual sectors or small " "clusters. Read failures are caught on the levels below the filesystem and " "are returned to the user as I\\&. Reading the " "blocks repeatedly may return the data eventually, but this is better done by " "specialized tools and filesystem takes the result of the lower layers. " "Rewriting the sectors may trigger internal remapping but this inevitably " "leads to data loss." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Disk firmware is technically software but from the filesystem perspective is " "part of the hardware. IO requests are processed, and caching or various " "other optimizations are performed, which may lead to bugs under high load or " "unexpected physical conditions or unsupported use cases." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Disks are connected by cables with two ends, both of which can cause " "problems when not attached properly. Data transfers are protected by " "checksums and the lower layers try hard to transfer the data correctly or " "not at all. The errors from badly-connecting cables may manifest as large " "amount of failed read or write requests, or as short error bursts depending " "on physical conditions." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "check B for potential issues" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Solid state drives (SSD)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The mechanism of information storage is different from HDDs and this affects " "the failure mode as well. The data are stored in cells grouped in large " "blocks with limited number of resets and other write constraints. The " "firmware tries to avoid unnecessary resets and performs optimizations to " "maximize the storage media lifetime. The known techniques are deduplication " "(blocks with same fingerprint/hash are mapped to same physical block), " "compression or internal remapping and garbage collection of used memory " "cells. Due to the additional processing there are measures to verity the " "data e.g. by ECC codes." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The observations of failing SSDs show that the whole electronic fails at " "once or affects a lot of data (e.g. stored on one chip). Recovering such " "data may need specialized equipment and reading data repeatedly does not " "help as it\\(aqs possible with HDDs." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There are several technologies of the memory cells with different " "characteristics and price. The lifetime is directly affected by the type and " "frequency of data written. Writing \"too much\" distinct data (e.g. " "encrypted) may render the internal deduplication ineffective and lead to a " "lot of rewrites and increased wear of the memory cells." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There are several technologies and manufacturers so it\\(aqs hard to " "describe them but there are some that exhibit similar behaviour:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "expensive SSD will use more durable memory cells and is optimized for " "reliability and high load" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "cheap SSD is projected for a lower load (\"desktop user\") and is optimized " "for cost, it may employ the optimizations and/or extended error reporting " "partially or not at all" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "It\\(aqs not possible to reliably determine the expected lifetime of an SSD " "due to lack of information about how it works or due to lack of reliable " "stats provided by the device." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Metadata writes tend to be the biggest component of lifetime writes to a " "SSD, so there is some value in reducing them. Depending on the device class " "(high end/low end) the features like DUP block group profiles may affect the " "reliability in both ways:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I are typically more reliable and using I for data and " "metadata could be suitable to reduce device wear" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I could lack ability to identify errors so an additional redundancy " "at the filesystem level (checksums, I) could help" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Only users who consume 50 to 100% of the SSD\\(aqs actual lifetime writes " "need to be concerned by the write amplification of btrfs DUP metadata. Most " "users will be far below 50% of the actual lifetime, or will write the drive " "to death and discover how many writes 100% of the actual lifetime was. SSD " "firmware often adds its own write multipliers that can be arbitrary and " "unpredictable and dependent on application behavior, and these will " "typically have far greater effect on SSD lifespan than DUP metadata. " "It\\(aqs more or less impossible to predict when a SSD will run out of " "lifetime writes to within a factor of two, so it\\(aqs hard to justify wear " "reduction as a benefit." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I<\\%https://www.snia.org/educational-library/ssd-and-deduplication-end-" "spinning-disk-2012>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I<\\%https://www.snia.org/educational-library/realities-solid-state-" "storage-2013-2013>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I<\\%https://www.snia.org/educational-library/ssd-performance-primer-2013>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I<\\%https://www.snia.org/educational-library/how-controllers-maximize-ssd-" "life-2013>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "run B or self-tests to look for potential issues" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "keep the firmware up-to-date" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NVM express, non-volatile memory (NVMe)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "NVMe is a type of persistent memory usually connected over a system bus " "(PCIe) or similar interface and the speeds are an order of magnitude faster " "than SSD. It is also a non-rotating type of storage, and is not typically " "connected by a cable. It\\(aqs not a SCSI type device either but rather a " "complete specification for logical device interface." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In a way the errors could be compared to a combination of SSD class and " "regular memory. Errors may exhibit as random bit flips or IO failures. There " "are tools to access the internal log (B and B) for a " "more detailed analysis." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There are separate error detection and correction steps performed e.g. on " "the bus level and in most cases never making in to the filesystem level. " "Once this happens it could mean there\\(aqs some systematic error like " "overheating or bad physical connection of the device. You may want to run " "self-tests (using B)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I<\\%https://en.wikipedia.org/wiki/NVM_Express>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I<\\%https://www.smartmontools.org/wiki/NVMe_Support>" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Drive firmware" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Firmware is technically still software but embedded into the hardware. As " "all software has bugs, so does firmware. Storage devices can update the " "firmware and fix known bugs. In some cases the it\\(aqs possible to avoid " "certain bugs by quirks (device-specific workarounds) in Linux kernel." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A faulty firmware can cause wide range of corruptions from small and " "localized to large affecting lots of data. Self-repair capabilities may not " "be sufficient." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "check for firmware updates in case there are known problems, note that " "updating firmware can be risky on itself" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SD flash cards" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There are a lot of devices with low power consumption and thus using storage " "media based on low power consumption too, typically flash memory stored on a " "chip enclosed in a detachable card package. An improperly inserted card may " "be damaged by electrical spikes when the device is turned on or off. The " "chips storing data in turn may be damaged permanently. All types of flash " "memory have a limited number of rewrites, so the data are internally " "translated by FTL (flash translation layer). This is implemented in firmware " "(technically a software) and prone to bugs that manifest as hardware errors." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Adding redundancy like using DUP profiles for both data and metadata can " "help in some cases but a full backup might be the best option once problems " "appear and replacing the card could be required as well." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Hardware as the main source of filesystem corruptions" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "" #. Generated by docutils manpage writer. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B, I<\\%btrfs(8)>, B, B, B, I<\\" "%mkfs.btrfs(8)>, B, B" msgstr "" #. type: TH #: debian-bookworm #, no-wrap msgid "Feb 28, 2023" msgstr "" #. type: TH #: debian-bookworm #, no-wrap msgid "6.2" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Enable automatic file defragmentation. When enabled, small random writes " "into files (in a range of tens of kilobytes, currently it\\(aqs 64KiB) are " "detected and queued up for the defragmentation process. Not well suited for " "large database workloads." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Force clearing and rebuilding of the disk space cache if something has gone " "wrong. See also: I\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Allow mounts with less devices than the RAID profile constraints require. A " "read-write mount (or remount) may fail when there are too many devices " "missing, for example if a stripe member is completely missing from RAID0." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Example: metadata -- raid1, data -- single, devices -- /dev/sda, /dev/sdb" msgstr "" #. type: Plain text #: debian-bookworm msgid "(default: off, async support since: 5.6)" msgstr "" #. type: Plain text #: debian-bookworm msgid "(depends on compile-time option BTRFS_DEBUG, since: 4.4, default: off)" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "A debugging helper to intentionally fragment given I of block groups. " "The type can be I, I or I\\&. This mount option should " "not be used outside of debugging environments and is not recognized if the " "kernel config option I is not enabled." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Specify the maximum amount of space, that can be inlined in a metadata b-" "tree leaf. The value is specified in bytes, optionally with a K suffix " "(case insensitive). In practice, this value is limited by the filesystem " "block size (named I at mkfs time), and memory page size of the " "system. In case of sectorsize limit, there\\(aqs some space unavailable due " "to leaf headers. For example, a 4KiB sectorsize, maximum size of inline " "data is about 3900 bytes." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "(I since: 3.2, I and I since " "4.5, default: I)" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "There are two implementations of the free space cache. The original one, " "referred to as I, is the safe default. The I space cache can be " "disabled at mount time with I without clearing." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "On very large filesystems (many terabytes) and certain workloads, the " "performance of the I space cache may degrade drastically. The I " "implementation, which adds a new b-tree called the free space tree, " "addresses this issue. Once enabled, the I space cache will always be " "used and cannot be disabled unless it is cleared. Use I or I to do so. If I is " "enabled, kernels without I support will only be able to mount the " "filesystem in read-only mode." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "The I<\\%btrfs-check(8)> and I<:doc:\\(gamkfs.btrfs(8)Emkfs.btrfsE> " "commands have full I free space cache support since v4.19." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "If a version is not explicitly specified, the default implementation will be " "chosen, which is I\\&." msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "The functionality has been removed in 5.11, any stale data created by " "previous use of the I option can be removed by B\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "The features of a filesystem (with a given UUID) are listed in I, one file per feature. The status is stored inside the " "file. The value I<1> is for enabled and active, while I<0> means the feature " "was enabled at mount time but turned off afterwards." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Whether a particular feature can be turned on a mounted filesystem can be " "found in the directory I, one file per feature. The " "value I<1> means the feature can be enabled." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "List of features (see also I<\\%mkfs.btrfs(8)> section I):" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "list of checksum algorithms supported by the kernel module, the respective " "modules or built-in implementing the algorithms need to be present to mount " "the filesystem, see I" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "zoned mode is allocation/write friendly to host-managed zoned devices, " "allocation space is partitioned into fixed-size zones that must be updated " "sequentially, see I" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "A swapfile is file-backed memory that the system uses to temporarily offload " "the RAM. It is supported since kernel 5.0. Use B to activate the " "swapfile. There are some limitations of the implementation in BTRFS and " "Linux swap subsystem:" msgstr "" #. type: Plain text #: debian-bookworm msgid "swapfile - the containing subvolume cannot be snapshotted" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "balance - block groups with swapfile extents are skipped and reported, the " "rest will be processed normally" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "resize shrink - works as long as the extents are outside of the shrunk range" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "device add - a new device does not interfere with existing swapfile and this " "operation will work, though no new swapfile can be activated afterwards" msgstr "" #. type: Plain text #: debian-bookworm #, no-wrap msgid "" "^\".ft C$\n" "# btrfs filesystem mkswapfile swapfile\n" "# swapon swapfile\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: debian-bookworm msgid "The file will appear in I:" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Since version 6.1 there\\(aqs a command B that will print the device physical offset and the adjusted value " "for I\\&. Note that the value is divided by page " "size, i.e. it\\(aqs not the offset itself." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "The command I also verifies all the requirements, i.e. no " "holes, single device, etc." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Notably, the I utility exits with a message that does not say what " "failed:" msgstr "" #. type: Plain text #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 msgid "" "Approximate relative performance of the algorithms, measured against CRC32C " "using reference software implementations on a 3.5GHz intel CPU:" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "1700" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "CPU instruction" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "2500" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "1.44" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "105000" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "61" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "36000" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "libgcrypt/AVX2" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "63000" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "37" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "libsodium/AVX2" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "22000" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "13" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "19000" msgstr "" #. type: tbl table #: debian-bookworm debian-unstable mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "11" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Many kernels are configured with SHA256 as built-in and not as a module. " "The accelerated versions are however provided by the modules and must be " "loaded explicitly (B) before mounting the filesystem to " "make use of them. You can check in I which one " "is used. If you see I, then you may want to unmount and " "mount the filesystem again, changing that on a mounted filesystem is not " "possible. Check the file I, when the implementation is built-" "in, you\\(aqd find" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Typically the compression can be enabled on the whole filesystem, specified " "for the mount point. Note that the compression mount options are shared " "among all mounts of the same filesystem, either bind mounts or subvolume " "mounts. Please refer to section I\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "The top level path is I, and the main directory layout is " "the following:" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "For I directory, each file means a supported " "feature for the current kernel." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "For IUUIDE/features/> directory, each file means an " "enabled feature for the mounted filesystem." msgstr "" #. type: Plain text #: debian-bookworm msgid "The features shares the same name in section I\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "Files in IUUIDE/> directory are:" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "The checksum used for the mounted filesystem. This includes both the " "checksum type (see section I) and the implemented " "driver (mostly shows if it\\(aqs hardware accelerated)." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Shows the running exclusive operation. Check section I for details." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Files and directories in IUUIDE/allocations> " "directory are:" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Files in IUUIDE/allocations/{data,metadata,system}> " "directory are:" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Files in IUUIDE/devinfo/EDEVIDE> directory " "are:" msgstr "" #. type: Plain text #: debian-bookworm msgid "Files in IUUIDE/qgroups/> directory are:" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Files in IUUIDE/ELEVELE_EIDE/> " "directory are:" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Since kernel 5.10 the currently running operation can be obtained from I with following values and operations:" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "minimum number: 256 (for subvolumes), regular files and directories: 257, " "maximum number: (2:sup:I<64> - 256)" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "65536 when the I feature is turned on during mkfs (default), roughly " "100 otherwise" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "U-boot (I<\\%https://www.denx.de/wiki/U-Boot/>) has decent support for " "booting but not all BTRFS features are implemented, check the documentation." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "EXTLINUX (from the I<\\%https://syslinux.org> project) has limited support " "for BTRFS boot and hasn\\(aqt been updated for for a long time so is not " "recommended as bootloader." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "There\\(aqs overlap of letters assigned to the bits with the attributes, " "this list refers to what B provides:" msgstr "" #. type: TP #: debian-bookworm #, no-wrap msgid "B" msgstr "" #. type: Plain text #: debian-bookworm msgid "only single profile is supported" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "There\\(aqs a character special device I with major and " "minor numbers 10 and 234 (the device can be found under the \\(aqmisc\\(aq " "category)." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "get the supported features (can be also found under I)" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "The COW mechanism and multiple devices under one hood enable an interesting " "concept, called a seeding device: extending a read-only filesystem on a " "device with another device that captures all writes. For example imagine an " "immutable golden image of an operating system enhanced with another device " "that allows to use the data from the golden image and normal operation. " "This idea originated on CD-ROMs with base OS and allowing to use them for " "live systems, but this became obsolete. There are technologies providing " "similar functionality, like I, I or I image " "snapshot." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Once the seeding device is mounted, it needs the writable device. After " "adding it, something like B makes the " "filesystem at I ready for use. The simplest use case is to throw away " "all changes by unmounting the filesystem when convenient." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Alternatively, deleting the seeding device from the filesystem can turn it " "into a normal filesystem, provided that the writable device can also contain " "all the data from the seeding device." msgstr "" #. type: Plain text #: debian-bookworm #, no-wrap msgid "" "# mount /dev/sda /mnt/mnt1\n" "# btrfs device add /dev/sdb /mnt/mnt1\n" "# mount -o remount,rw /mnt/mnt1\n" "\\&... /mnt/mnt1 is now writable\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Now I can be used normally. The device I can be mounted " "again with a another writable device:" msgstr "" #. type: Plain text #: debian-bookworm #, no-wrap msgid "" "^\".ft C$\n" "# mount /dev/sda /mnt/mnt2\n" "# btrfs device add /dev/sdc /mnt/mnt2\n" "# mount -o remount,rw /mnt/mnt2\n" "\\&... /mnt/mnt2 is now writable\n" "^\".ft P$\n" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "The writable device (I) can be decoupled from the seeding device " "and used independently:" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "As the contents originated in the seeding device, it\\(aqs possible to turn " "I to a seeding device again and repeat the whole process." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Though it\\(aqs not recommended and is rather an obscure and untested use " "case, chaining seeding devices is possible. In the first example, the " "writable device I can be turned onto another seeding device again, " "depending on the unchanged seeding device I\\&. Then using I as the primary seeding device it can be extended with another writable " "device, say I, and it continues as before as a simple tree " "structure on devices." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "When RAID56 is on the same filesystem with different raid profiles, the " "space reporting is inaccurate, e.g. B, B or B\\&. When there\\(aqs only a one profile per block group " "type (e.g. RAID5 for data) the reporting is accurate." msgstr "" #. type: TH #: debian-unstable #, no-wrap msgid "Feb 28, 2024" msgstr "" #. type: TH #: debian-unstable mageia-cauldron #, no-wrap msgid "6.6.3" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "# truncate -s 0 swapfile\n" "# chattr +C swapfile\n" "# fallocate -l 2G swapfile\n" "# chmod 0600 swapfile\n" "# mkswap swapfile\n" "# swapon swapfile\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "# btrfs filesystem mkswapfile --size 2G swapfile\n" "# swapon swapfile\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "# cat /proc/swaps\n" "Filename Type Size Used Priority\n" "/path/swapfile file 2097152 0 -2\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "/path/swapfile none swap defaults 0 0\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "# btrfs filesystem mkswapfile swapfile\n" "# btrfs inspect-internal map-swapfile swapfile\n" "Physical start: 811511726080\n" "Resume offset: 198122980\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "# btrfs inspect-internal map-swapfile -r swapfile\n" "198122980\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "# swapon /path/swapfile\n" "swapon: /path/swapfile: swapon failed: Invalid argument\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "# journalctl -t kernel | grep swapfile\n" "kernel: BTRFS warning (device sda): swapfile must have single data profile\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "name : sha256\n" "driver : sha256-generic\n" "module : kernel\n" "priority : 100\n" "\\&...\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "name : sha256\n" "driver : sha256-avx2\n" "module : sha256_ssse3\n" "priority : 170\n" "\\&...\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "$ mount -o compress=zstd /dev/sdx /mnt\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "$ btrfs filesystem defrag -czstd file\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "$ chattr +c file\n" "$ btrfs property set file compression zstd\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "$ lsattr file\n" "---------------------m file\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "modprobe\\ configfs\n" "modprobe\\ null_blk\\ nr_devices=0\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "cd\\ /sys/kernel/config/nullb/\n" "mkdir\\ mydev\n" "cd\\ mydev\n" "echo\\ 2048\\ E\\ size\n" "echo\\ 1\\ E\\ zoned\n" "echo\\ 1\\ E\\ memory_backed\n" "echo\\ 256\\ E\\ zone_size\n" "echo\\ 1\\ E\\ power\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "rmdir\\ /sys/kernel/config/nullb/mydev\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "nullb setup\n" "nullb create -s 2g -z 256\n" "mkfs.btrfs /dev/nullb0\n" "\\&...\n" "nullb rm nullb0\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "$ ls -l /dev/btrfs-control\n" "crw------- 1 root root 10, 234 Jan 1 12:00 /dev/btrfs-control\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "# mknod --mode=600 /dev/btrfs-control c 10 234\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "# btrfs rescue create-control-device\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "WARNING: Multiple block group profiles detected, see \\(aqman btrfs(5)\\(aq.\n" "WARNING: Data: single, raid1\n" "WARNING: Metadata: single, raid1\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "WARNING: Multiple block group profiles detected, see \\(aqman btrfs(5)\\(aq.\n" "WARNING: Data: single, raid1\n" "WARNING: Metadata: single, raid1\n" "Data, RAID1: total=832.00MiB, used=0.00B\n" "Data, single: total=1.63GiB, used=0.00B\n" "System, single: total=4.00MiB, used=16.00KiB\n" "Metadata, single: total=8.00MiB, used=112.00KiB\n" "Metadata, RAID1: total=64.00MiB, used=32.00KiB\n" "GlobalReserve, single: total=16.25MiB, used=0.00B\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "Multiple profiles: yes (data, metadata)\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "# mkfs.btrfs /dev/sda\n" "# mount /dev/sda /mnt/mnt1\n" "\\&... fill mnt1 with data\n" "# umount /mnt/mnt1\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "# mount /dev/sda /mnt/mnt1\n" "# btrfs device add /dev/sdb /mnt/mnt1\n" "# umount /mnt/mnt1\n" "# mount /dev/sdb /mnt/mnt1\n" "\\&... /mnt/mnt1 is now writable\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "# mount /dev/sda /mnt/mnt2\n" "# btrfs device add /dev/sdc /mnt/mnt2\n" "# umount /mnt/mnt2\n" "# mount /dev/sdc /mnt/mnt2\n" "\\&... /mnt/mnt2 is now writable\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "# btrfs device delete /dev/sda /mnt/mnt1\n" msgstr "" #. type: Plain text #: debian-unstable #, no-wrap msgid "" "# mount /dev/sdb /mnt/mnt1\n" "# btrfs device add /dev/sdc /mnt\n" "# mount -o remount,rw /mnt/mnt1\n" "\\&... /mnt/mnt1 is now writable\n" "# umount /mnt/mnt1\n" msgstr "" #. type: TH #: mageia-cauldron #, no-wrap msgid "Jan 09, 2024" msgstr "" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Sep 13, 2023" msgstr "" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "6.5.1" msgstr ""