Современный API монтирования файловой системы Linux шесть лет существовал без документации.

linux,api,файловая система,документация,groff,markdown

Задержка с документацией для API файловой системы Linux (fsopen, fsconfig, fsmount) длилась более 6 лет. Причиной стали устаревший формат Groff и отсутствие мейнтейнеров. Решение найдено в Markdown-версии страниц.

Ядро системы не всегда развивается так же стремительно, как последние веяния в кодинге, и к счастью, ведь оно должно быть стабильным, эффективным и проверенным в бою. Однако иногда задержки становятся просто нелепыми, как это произошло с документацией для современного API файловой системы Linux.

Как отмечает Phoronix, информации пришлось ждать более шести лет, чтобы появиться в стандартной документации man-page (страница руководства). История такова: в 2019 году Linux получил совершенно новый API монтирования файловой системы, в котором основные вызовы “fsconfig”, “fsmount” и “fsopen” заменили старый, монолитный “mount”. Это значительно упростило разработчикам использование новых функций, предоставляя более чистый код, улучшенную обработку ошибок и возможность вывода правильных сообщений об ошибках, а не загадочного “mount failed”.

Разработчик Дэвид Хоуэллс написал черновики man-страниц в 2020 году, но они так и не были добавлены в пакет man-pages, поскольку мейнтейнеры не хотели включать потенциально неполные или неточные черновики. Хоуэллс, по-видимому, не смог завершить работу, и никто другой не вызвался.

В последующие годы разработчикам, желающим использовать новую систему, приходилось копаться в неприглядном файле в исходном коде ядра, искать обсуждения в списке рассылки ядра Linux или просматривать десятки заметок о патчах. В лучшем случае, сторонние веб-сайты содержали своего рода руководство, учитывая ситуацию.

Еще одна причина, по которой никто не спешил писать новые man-страницы, заключалась в том, что стандартизированный формат – Groff, которому сейчас 35 лет, и он настолько нечитаем для человека, что вполне мог быть написан Ктулху.

Мастер документации Кристиан Браунер пришел в ярость в 2024 году, заявив, что “годы написания Groff утомили меня”, и он создал свой собственный репозиторий с Markdown-версией страниц, наконец-то предоставив разработчикам единое место для поиска необходимой информации. Наконец, в октябре 2025 года официальный пакет man-pages теперь содержит эти страницы.

Вполне возможно, что почти полное отсутствие документации могло способствовать длительным задержкам с использованием нового API несколькими обработчиками файловых систем. Старый добрый Ext4 использовал его только в 2022 году, CIFS (SMB) сделал это в 2023 году, Btrfs опоздал на вечеринку в 2024 году, а реализация F2FS (flash filesystem) все еще находится в процессе разработки. Новые man-страницы еще не появились в распространенных дистрибутивах, поэтому они будут доступны только в rolling-release версиях.

Всегда имейте в виду, что редакции некоторых изданий могут придерживаться предвзятых взглядов в освещении новостей.
8/10