btrfs-progs: docs: mkfs and sectorsize updates

[ci skip]

Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2024-01-18 02:37:08 +01:00
parent e3232c2abb
commit d7be6ed156
3 changed files with 20 additions and 12 deletions

View File

@ -295,7 +295,8 @@ Subpage block size
Most commonly used page sizes are 4KiB, 16KiB and 64KiB. All combinations with Most commonly used page sizes are 4KiB, 16KiB and 64KiB. All combinations with
a 4KiB sector size filesystems are supported. Some features are not compatible a 4KiB sector size filesystems are supported. Some features are not compatible
with subpage or require another feature to work: with subpage or require another feature to work. Since btrfs-progs 6.7 the default
sector size is 4KiB as this allows cross-architecture compatibility.
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1

View File

@ -6,22 +6,24 @@ using a filesystem that has different size of data block size (*sectorsize*)
and the host CPU page size. For easier implementation the support was limited and the host CPU page size. For easier implementation the support was limited
to the exactly same size of the block and page. On x86_64 this is typically to the exactly same size of the block and page. On x86_64 this is typically
4KiB, but there are other architectures commonly used that make use of larger 4KiB, but there are other architectures commonly used that make use of larger
pages, like 64KiB on 64bit ARM or PowerPC. This means filesystems created pages, like 64KiB on 64bit ARM or PowerPC or 16KiB on Apple Silicon. This means
with 64KiB sector size cannot be mounted on a system with 4KiB page size. filesystems created with 64KiB sector size cannot be mounted on a system with
4KiB page size.
Since v6.7, filesystems are created with a 4KiB sectorsize by default, Since btrfs-progs 6.7, filesystems are created with a 4KiB sector size by
though it remains possible to create filesystems with other page sizes default, though it remains possible to create filesystems with other sector sizes
(such as 64KiB with the "-s 64k" option for :command:`mkfs.btrfs`). This (such as 64KiB with the "-s 64k" option for :command:`mkfs.btrfs`). This
ensures that new filesystems are compatible across other architecture ensures that new filesystems are compatible across other architecture variants
variants using larger page sizes. using larger page sizes.
Requirements, limitations Requirements, limitations
------------------------- -------------------------
The initial subpage support has been added in v5.15. Most features are The initial subpage support has been added in kernel 5.15. Most features are
already working without problems. On a 64KiB page system, a filesystem with already working without problems. On a 64KiB page system, a filesystem with
4KiB sectorsize can be mounted and used as long as the initial mount succeeds. 4KiB sectorsize can be mounted and used as long as the initial mount succeeds.
Subpage support is used by default for systems with a non-4KiB page size since v6.7. Subpage support is used by default for systems with a non-4KiB page size since
btrfs-progs 6.7.
Please refer to status page of :ref:`status-subpage-block-size` for Please refer to status page of :ref:`status-subpage-block-size` for
compatibility. compatibility.

View File

@ -122,15 +122,20 @@ OPTIONS
-s|--sectorsize <size> -s|--sectorsize <size>
Specify the sectorsize, the minimum data block allocation unit. Specify the sectorsize, the minimum data block allocation unit.
.. note::
Versions prior to 6.7 set the sectorsize matching the host CPU
page size, starting in 6.7 this is 4KiB for cross-architecture
compatibility. Please read more about the :doc:`subpage block size support<Subpage>`
and :ref:`its status<status-subpage-block-size>`.
By default, the value is 4KiB, but it can be manually set to match the By default, the value is 4KiB, but it can be manually set to match the
system page size. However, if the sector size is different from the page system page size (e.g. using command :command:`getconf PAGE_SIZE`).
However, if the sector size is different from the page
size, the resulting filesystem may not be mountable by the current size, the resulting filesystem may not be mountable by the current
kernel, apart from the default 4KiB. Hence, using this option is not kernel, apart from the default 4KiB. Hence, using this option is not
advised unless you intend to mount it on a system with the suitable advised unless you intend to mount it on a system with the suitable
page size. page size.
.. note::
Versions prior to 6.7 set the sectorsize matching to the page size.
-L|--label <string> -L|--label <string>
Specify a label for the filesystem. The *string* should be less than 256 Specify a label for the filesystem. The *string* should be less than 256