btrfs-progs: docs: add section about filesystem limits to btrfs(5)
authorDavid Sterba <dsterba@suse.com>
Tue, 6 Mar 2018 13:22:14 +0000 (14:22 +0100)
committerDavid Sterba <dsterba@suse.com>
Fri, 30 Mar 2018 20:15:53 +0000 (22:15 +0200)
Signed-off-by: David Sterba <dsterba@suse.com>
Documentation/btrfs-man5.asciidoc

index 367736c..b20abf0 100644 (file)
@@ -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
 
 
 MOUNT OPTIONS
@@ -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
 
+
+FILESYSTEM LIMITS
+-----------------
+
+maximum file name length::
+255
+
+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
+dynamically
+
+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,
+GiB)
+
+maximum number of hardlinks of a file in a directory::
+65536 when the `extref` feature is turned on during mkfs (default), roughly
+100 otherwise
+
+
 FILE ATTRIBUTES
 ---------------
 The btrfs filesystem supports setting the following file attributes using the