File: ch-fs-limits.rst

package info (click to toggle)
btrfs-progs 6.2-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 17,244 kB
  • sloc: ansic: 114,376; sh: 9,576; python: 1,242; makefile: 820
file content (49 lines) | stat: -rw-r--r-- 2,053 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
maximum file name length
        255

        This limit is imposed by Linux VFS, the structures of BTRFS could store
        larger file names.

maximum symlink target length
        depends on the *nodesize* value, for 4KiB it's 3949 bytes, for larger nodesize
        it's 4095 due to the system limit PATH_MAX

        The symlink target may not be a valid path, i.e. the path name components
        can exceed the limits (NAME_MAX), there's no content validation at ``symlink(3)``
        creation.

maximum number of inodes
        2\ :sup:`64` but depends on the available metadata space as the inodes are created
        dynamically

        Each subvolume is an independent namespace of inodes and thus their
        numbers, so the limit is per subvolume, not for the whole filesystem.

inode numbers
        minimum number: 256 (for subvolumes), regular files and directories: 257,
        maximum number: (2\:sup:`64` - 256)

        The inode numbers that can be assigned to user created files are from
        the whole 64bit space except first 256 and last 256 in that range that
        are reserved for internal b-tree identifiers.

maximum file length
        inherent limit of BTRFS is 2\ :sup:`64` (16 EiB) but the practical
        limit of Linux VFS is 2\ :sup:`63` (8 EiB)

maximum number of subvolumes
        the subvolume ids can go up to 2\ :sup:`48` but the number of actual subvolumes
        depends on the available metadata space

        The space consumed by all subvolume metadata includes bookkeeping of
        shared extents can be large (MiB, GiB). The range is not the full 64bit
        range because of qgroups that use the upper 16 bits for another
        purposes.

maximum number of hardlinks of a file in a directory
        65536 when the *extref* feature is turned on during mkfs (default), roughly
        100 otherwise

minimum filesystem size
        the minimal size of each device depends on the *mixed-bg* feature, without that
        (the default) it's about 109MiB, with mixed-bg it's is 16MiB