From 0539bbb66a6eb0f6f78b80b47bd7e92c94b49097 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Thu, 12 May 2022 20:35:51 +0200 Subject: [PATCH] btrfs-progs: docs: separate filesystem limits chapter For section 5 and Administration. Signed-off-by: David Sterba --- Documentation/Administration.rst | 5 +++++ Documentation/btrfs-man5.rst | 35 +------------------------------- Documentation/ch-fs-limits.rst | 33 ++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 34 deletions(-) create mode 100644 Documentation/ch-fs-limits.rst diff --git a/Documentation/Administration.rst b/Documentation/Administration.rst index e7285bc4..ef7e18d3 100644 --- a/Documentation/Administration.rst +++ b/Documentation/Administration.rst @@ -13,3 +13,8 @@ Bootloaders ----------- .. include:: ch-bootloaders.rst + +Filesystem limits +----------------- + +.. include:: ch-fs-limits.rst diff --git a/Documentation/btrfs-man5.rst b/Documentation/btrfs-man5.rst index 9632f513..6d5a0a8d 100644 --- a/Documentation/btrfs-man5.rst +++ b/Documentation/btrfs-man5.rst @@ -221,40 +221,7 @@ for the balance to finish. FILESYSTEM LIMITS ----------------- -maximum file name length - 255 - -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, ie. the path name components - can exceed the limits (NAME_MAX), 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 - the subvolume ids can go up to 2^64^ 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) - -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 - +.. include:: ch-fs-limits.rst BOOTLOADER SUPPORT ------------------ diff --git a/Documentation/ch-fs-limits.rst b/Documentation/ch-fs-limits.rst new file mode 100644 index 00000000..a8cb24c1 --- /dev/null +++ b/Documentation/ch-fs-limits.rst @@ -0,0 +1,33 @@ +maximum file name length + 255 + +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, ie. the path name components + can exceed the limits (NAME_MAX), 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 + the subvolume ids can go up to 2^64^ 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) + +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