> Есть система флагов в inode позволяющие различать формат инодов.А например на фазе монтирования кернел про EXT4 знает - могет он зацепить ЭТО с новой фичой, или нет? Как это обыгрывается? Если на каждый incompat заворачивать все на уровне "это типа новая ФС" - юзеры с такого пути апгрейда взвоют.
Старые кернелы разумеется не знают как цеплять новые фичи. И с этим надо что-то делать. И разумеется полностью отломать монтирование неведомой зверушки по любому поводу - тоже отстойная идея. Юзеры будут терять доступ к своим данным и беситься.
> Есть также структура -глобальная таблица установленных флагов и блокирующих атрибутов
> если сломана совместимость.
Как оно в английских терминах и где это описано?
> Правда как утилиты и ядро взаимодействуют
> с этими атрибутами в доках я не чего не нашел :-(
А есть какие-то примеры как это реально работает на практике? Я просто EXT4 уже несколько лет как плотно не мониторю...
Просто у btrfs и bcachefs - есть структуры для описания compat, там флаги/структуры описывающие может ли энное ядро с его умениями зацепить воон то, будет ли это R/O или R/W и все такое. И еще там структуры описывающие тип чексуммы, алго сжатия, ... с самого начала заложены, опять же.
На примере фичи "bg_tree" (kernel >= 6.1) в btrfs: технически это +1 индекс (дерево). Ускоряет монтирование и проч. Поэтому в описании compat прописан так что старые кернелы могут ФС с новой фичой цеплять, как RO. Те кернелы "задним числом" (на уровне правил рюхания compat) в курсе, что хотя они не знают фичу, имеют зацепляит сие как RO. Им не надо уметь понимать тот индекс - монтирование будет дольше, но в целом совместимый формат. RW зарублен, потому что старые кернелы не умеют апдейт - при записи дерево станет рассинхронизированым (в принципе это можно было бы даже и фиксить ребилдом дерева, но...). Как-то так выглядит готовность ФС к расширению "всерьез". Т.е. механизм обеспечиваюший interop насколько возможно, и взаимодействие скажем старого кернела с новой файлухой если/насколько возможно.
Соответственно внедрять фичи в не очень хаотичном виде - реально, и этим пользуются. Кент имея пример перед глазами ессно его тоже учел.