TGViewer
Admin Guides | Сисадмин Admin Guides | Сисадмин @admguides · 12K subscribers
Post #3163 762
failfs: файловая система, где всё запрещено

В Linux появилась необычная внутренняя файловая система - failfs. Она специально устроена так, чтобы операции через неё завершались ошибкой EOPNOTSUPP.

Это не файловая система для хранения данных. Её задача - дать kernel контролируемое окружение, в котором filesystem operations гарантированно не работают.


1️⃣Что делает failfs

У неё практически нет нормального path lookup:


/
└── любой lookup → EOPNOTSUPP


Причём ошибка возникает ещё до разбора компонента пути. Даже . не проходит обычный lookup.

Открыть root через O_PATH тоже нельзя.

2️⃣Зачем это kernel

Один из вариантов - изоляция kernel threads.
Исторически kernel threads и PID 1 разделяли filesystem state.

Это создавало довольно странную зависимость: например, операции вроде pivot_root() могли менять filesystem state, который видели kernel threads.

nullfs уже используется как пустое изолированное окружение для таких задач. failfs идёт ещё дальше: любой filesystem access из такого окружения гарантированно заканчивается ошибкой.

3️⃣Почему это лучше обычного NULL

nullfs говорит:

«здесь ничего нет»
↓
ENOENT
failfs говорит:
«filesystem operation здесь вообще не поддерживается»
↓
EOPNOTSUPP


Это важная разница. Kernel получает не просто пустой каталог, а специальную среду, которая позволяет явно проверить или ограничить код, пытающийся обращаться к VFS.

⚡️failfs выглядит бесполезной файловой системой ровно до момента, когда kernel нужно гарантировать: этот код не должен случайно получить доступ к обычному filesystem namespace. Тогда отсутствие файлов превращается уже не в отсутствие данных, а в механизм изоляции.
  • 🔥 3
  • ❤ 2
More from @admguides
  1. Oct 8, 2026💻Практический вебинар «СТРАТЕГИЯ РЕЗЕРВНОГО КОПИРОВАНИЯ» 📹 15 октября в 11:00 Мск за 90…
  2. Oct 8, 2026dm-delay: как Linux специально замедляет диск Device Mapper умеет не только объединять и ш…
  3. Oct 8, 2026photo post
  4. Oct 7, 2026На Stepik вышла программа «DevOps с нуля: от Linux до Kubernetes» Это комплексная программ…
  5. Oct 7, 2026💬 Вопрос на собеседовании для сисадмина Давайте разберем один из частых вопросов, который…
  6. Oct 6, 2026Process Builder: зачем Linux хочет уйти от fork()+exec() Классическая схема запуска процес…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →