> Я нашел по русскому документу -описание АРИ и структур ext3-4.
> Нужно будет расшарю перевод дипломный проект.Мне сорца+доки хватит имхо.
> Оригинал https://www.kernel.org/doc/html/latest/filesystems/ext4/glob...
Вполне ок для меня. Ну и вот там структура супера. Что мне в ней не нравится? Много легаси и прибитых на гвозди вещей. И не густо того что бывает реально важно на практике (e.g. compat VS алго чексум/сжатия).
Для сравнения можно суперы btrfs и bcachefs посмотреть. Они не прибивают на гвозди алго, в супере и рядом как максимум "дайджест" incompat фич, но например можно сжать ту диру LZO, а эту zstd. И это работает. Дефолтный алго 1 ессно.
Кент доразвил идею: можно быстро сжать скоростным, типа LZ4, а cold идущий на медленный стораж - в фоне, плотным, eg zstd. Дефолтов бы два: "фронт" и "бэк". Это должно хорошо работать на ФС где запись burst'ами. Так writer видит перфоманс SSD+LZ4 а остальное в фоне, асинхронно, и не его проблемы.
> Один из них - s_feature_compat
Кажется нашел что искал, там и RO флаги есть, т.е. джентльменский минимум в наличии. Интересно с каких версий кернелов. Если древних, то в принципе старикан не так плох в этом аспекте.
> описывает совместимые флаги непонимание которых ядром не приводит к остановке работы:
Еще есть s_feature_ro_compat - если он рюхается, особенно старыми кернелами, можно как btrfsники с bg_tree делать.
> - Сжатие
У btrfs incompat это некий дайджест, сжатие более вербозно рулится. Т.е. изначально умело lzo и zlib -> новое алго zstd incompat, соответственно. Но у экстентов свое поле типа сжатия и алго может быть более 1. Кент умеет нечто сравнимое.
> - Файловая система требует восстановления
Вот это вот в автопилотных применениях (сервера, эмбедед) гарантирует сотни ненависти. Это то что "should never happen" при эксплуатации. EXT4 слишком часто требует к себе мануального внимания. И это его жирный минус. Туда же и lost+found. Хомяки про это все равно не знают, попробовавшие более продвинутые дизайны это ненавидят. "Lost+found is a hallmark of legacy".
> - Файлы использую экстенты
На мой вкус это Кэп. А, ну да - надо же ext2/3 учитывать. И выкинуть этот замшелый код не судьба, так что вот вам летающий макаронный монстр в коде, и если туда продвинутых фич попробовать добавить...
На мой вкус у EXT4 есть проблема как у XFS, где "XFSv4 VS майнтайнер". Т.е. легаси код, который никто не хочет чинить, в котором куча проблем, но который нельзя выкинуть и fuzzing боты делают мозг - и имеют свой пойнт, но желающих за дидами возить их гуано тоннами мало.
...в этом месте более новые дизайны типа btrfs и bcachefs получают некий пойнт. Наслоений легаси меньше, не надо EXT2 уметь, блин. И прчие XFSv4, ага!
С XFS фейл вышел. Мол у вас старый формат, он устарел, а новый - пересозданием ФС. Ну я и пересоздал там - btrfs, раз такая фигня :). У этих пути миграции адекватнее обычно.