2022-05-12 18:35:51 +00:00
|
|
|
maximum file name length
|
|
|
|
255
|
|
|
|
|
2022-12-22 17:44:20 +00:00
|
|
|
This limit is imposed by Linux VFS, the structures of BTRFS could store
|
2022-12-14 01:56:16 +00:00
|
|
|
larger file names.
|
|
|
|
|
2022-05-12 18:35:51 +00:00
|
|
|
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
|
|
|
|
|
2022-12-07 20:00:25 +00:00
|
|
|
The symlink target may not be a valid path, i.e. the path name components
|
2022-05-12 18:35:51 +00:00
|
|
|
can exceed the limits (NAME_MAX), there's no content validation at ``symlink(3)``
|
|
|
|
creation.
|
|
|
|
|
|
|
|
maximum number of inodes
|
2022-05-20 21:52:20 +00:00
|
|
|
2\ :sup:`64` but depends on the available metadata space as the inodes are created
|
2022-05-12 18:35:51 +00:00
|
|
|
dynamically
|
|
|
|
|
2022-12-14 01:56:16 +00:00
|
|
|
Each subvolume is an independent namespace of inodes and thus their
|
|
|
|
numbers, so the limit is per subvolume, not for the whole filesystem.
|
|
|
|
|
2022-05-12 18:35:51 +00:00
|
|
|
inode numbers
|
2022-12-14 01:56:16 +00:00
|
|
|
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.
|
2022-05-12 18:35:51 +00:00
|
|
|
|
|
|
|
maximum file length
|
2022-12-14 01:56:16 +00:00
|
|
|
inherent limit of BTRFS is 2\ :sup:`64` (16 EiB) but the practical
|
|
|
|
limit of Linux VFS is 2\ :sup:`63` (8 EiB)
|
2022-05-12 18:35:51 +00:00
|
|
|
|
|
|
|
maximum number of subvolumes
|
2022-12-14 01:56:16 +00:00
|
|
|
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.
|
2022-05-12 18:35:51 +00:00
|
|
|
|
|
|
|
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
|