>>в ext4... он вообще для этого не делался
> Делался.По крайней мере планировалось.Есть официальный документ описание ари ext3-4.
> Так там есть в атрибутах файла тип сжатый.
> Правда ари не предусматривает выбор алгоритма сжатия.Атрибут - пожалуй самое простое что касается сжатия. А вот несколько менее простых топиков:
- А как мы определяем что экстент вообще сжатый?
- А что если при сжатии экстент стал больше оригинала? Заскипать сжатие для номинально сжатого файла - можно?
- И таки каким алгоритмом или алгоритмами жать? Не, 1 размер всем таки плохая идея, имхо.
- А что с compat, если в старых версиях сжатия не было? Как это обыгрывается в ФС где сжатия изначально не было? Особенно в EXT4 - у него на уровне структур вообще есть какие-то внятные маркеры для реализаций будущих расширений? И если да то где оно и как устроено? У btrfs и bcachefs этот аспект описан на видном месте и тупых вопросов не вызывает.
- А вот например дефрагер сжатые экстенты сожрет? Особенно старые версии, понятия не имеющие что так можно было?
- А что если пишут - вот - интенсивно? Как избежать полного якоря по скорости на этом и ухода латенси ФС в стратосферу? У EXT4 есть инфраструктура для дефернутых/асинхронных джобов?
- А если избежать - окей, а как избегается unbound использование ресурсов если продолжают писать быстрее чем сжатие вкалывает? У кента с этим - определенные проблемы, например.