path: root/Documentation
diff options
authorDavid Sterba <>2018-03-06 14:22:14 +0100
committerDavid Sterba <>2018-03-30 22:15:53 +0200
commitfd5767a574958624828149687e76a5f0276f1dc8 (patch)
treec97e9e300acb4f8ef660ba61363a840194f53951 /Documentation
parentbb338fb0f0ac780e5f2806e0b50ef27e84701b7c (diff)
btrfs-progs: docs: add section about filesystem limits to btrfs(5)
Signed-off-by: David Sterba <>
Diffstat (limited to 'Documentation')
1 files changed, 38 insertions, 2 deletions
diff --git a/Documentation/btrfs-man5.asciidoc b/Documentation/btrfs-man5.asciidoc
index 367736ce..b20abf05 100644
--- a/Documentation/btrfs-man5.asciidoc
+++ b/Documentation/btrfs-man5.asciidoc
@@ -14,9 +14,11 @@ tools. Currently covers:
2. filesystem features
-3. file attributes
+3. filesystem limits
-4. control device
+4. file attributes
+5. control device
@@ -608,6 +610,40 @@ the filesystem contains or contained a raid56 profile of block groups
reduced-size metadata for extent references, saves a few percent of metadata
+maximum file name length::
+maximum symlink target length::
+depends on the 'nodesize' value, for 4k it's 3949 bytes, for larger nodesize
+it's 4095
+The symlink target may not be a valid path, ie the path name components
+can exceed the limits, there's no content validation at `symlink`(3) creation.
+maximum number of inodes::
+2^64^ but depends on the available metadata space as the inodes are created
+inode numbers::
+minimum number: 256 (for subvolumes), regular files and directories: 257
+maximum file length::
+inherent limit of btrfs is 2^64^ (16 EiB) but the linux VFS limit is 2^63^ (8 EiB)
+maximum number of subvolumes::
+2^64^ but depends on the available metadata space, the space consumed by all
+subvolume metadata includes bookeeping of the shared extents can be large (MiB,
+maximum number of hardlinks of a file in a directory::
+65536 when the `extref` feature is turned on during mkfs (default), roughly
+100 otherwise
The btrfs filesystem supports setting the following file attributes using the