Ключи mkfs.btrfs (создаётся мгновенно, до RHEL 7 не проверяет, что место занято):
- —data {single | raid0 | raid1 | raid10 | raid5 | raid6}
- —metadata {single | raid0 | raid1 | raid10 | raid5 | raid6 | dup}
- —byte-count размер-файловой-системы # всё место на блочном устройстве
- —alloc-start смещение-начала-файловой-системы # 0
- —force # не обращать внимания, что место занято
- —nodesize байт # размер блока метаданных; до ядра 3.4 не мог отличаться от размера страницы, с ядра 3.4 — до 64КиБ; по умолчанию был равен размеру страницы памяти, с версии утилит 3.12 и ядра 3.4 — 16384 (при этом btrfs-show-super выдаёт BIG_METADATA в списке несовместимых флагов, ядро 3.10); должен быть кратен размеру сектора, не более 65536; если размер файла менее leafsize-148, то данные поместятся среди метаданных
- —leafsize # устарело, используйте —nodesize
- —sectorsize байт # по умолчанию — размер страницы (4КиБ); не должен быть меньше физического блока; единица выделения свободного пространства для области данных
- —mixed # смешивать куски (chunk) данных и метаданных, для маленьких файловых систем
- —label метка # до 256 байт
- —nodiscard # не использовать TRIM и Discard
- —features опция # могут быть проблемы со старыми ядрами, полный список можно получить «mkfs.btrfs -O list-all»
- mixed-bg # —mixed ?
- extref # по умолчанию с версии утилиты 3.12, до 65536 ссылок на inode внутри каталога (было менее 350 при листьях в 4КиБ), ядро 3.7
- raid56
- skinny-metadata # ядро 3.9, по умолчанию для утилиты 3.18; сокращённый размер метаданных (другой формат на диске) — 30% от размера дерева экстентов
- no-holes # ядро 3.14, утилиты 3.18.1; другой формат на диске
- big_metadata # ядро 3.4, nodesize больше размера страниц памяти