lambutter 0.5: чтение btrfs без стандартной библиотеки Rust

lambutter 0.5: чтение btrfs без стандартной библиотеки Rust

В Debian появился пакет rust-lambutter 0.5.0-1 — библиотека, которая умеет читать файловую систему btrfs в окружениях, где нельзя использовать стандартную библиотеку Rust. Это нишевый, но важный инструмент для загрузчиков UEFI, встраиваемых систем и аварийного восстановления.

Что умеет библиотека

lambutter — аналог ext4-view для btrfs: чистая реализация на Rust, рассчитанная на работу без выделения памяти через std. По данным из README проекта, версия 0.5 открывает и читает обычные файлы, символические ссылки и содержимое каталогов на томах SINGLE, DUP, RAID1, RAID1C3 и RAID1C4 — как в корневом сабволюме, так и в выбранном по id или пути, с корректным переходом во вложенные сабволюмы, как это делает Linux при монтировании.

Поддерживается декодирование сжатых экстентов zstd, zlib и LZO. При этом RAID0/10/5/6, ZONED, RAID_STRIPE_TREE, REMAP_TREE, маркеры fscrypt и неизвестные несовместимые возможности библиотека отклоняет с типизированной ошибкой, а не пытается читать вслепую. Проверка контрольных сумм блоков данных и перечисление снапшотов пока не реализованы.

Как проверяли

Авторы приводят солидный набор проверок: 55 юнит-тестов на хосте, 15 фикстурных oracle-тестов на образах, записанных ядром Linux (включая сжатие, разреженные файлы, симлинки, экстенты и каталоги, пересекающие листья B-дерева), а также 5 фаззинг-обвязок на cargo-fuzz. Отдельно упоминается живая проверка на реальном разделе openSUSE Tumbleweed с редиректом сабволюма через Snapper — шесть прочитанных путей совпали с эталоном ядра байт в байт. Наконец, библиотека уже встроена в загрузчик LamBoot как нативный бэкенд btrfs и загружает openSUSE под живой прошивкой UEFI.

Что это значит

Для разработчиков загрузчиков и встраиваемых систем это означает, что btrfs перестаёт быть «недоступной» файловой системой в no_std-контексте. Раньше выбор часто сводился к ext4 или собственному минимальному парсеру; теперь появляется поддерживаемый вариант с тестами и понятными границами применимости. Для более широкой аудитории это ещё один пример того, как Rust заходит в системное программирование — туда, где раньше доминировал C. Подробности и код доступны в исходниках пакета.

Если вам интересно, как устроены файловые системы, загрузчики и системное программирование на Rust, узнайте больше — там разбираются подобные темы на понятных примерах.

📌 Чтобы не пропустить новые публикации, подписывайтесь там, где вам удобнее: Дзен или MAX.

💛 Если статья оказалась полезной, поддержите автора донатом.

Материал подготовлен на основе информации из открытых источников. Все права на исходные материалы принадлежат их авторам. Если вы являетесь правообладателем и возражаете против использования, свяжитесь с нами по адресу info@11st.press.

Related Posts

ИИ научился управлять ИИ: программисты переживают второй кризис за год

ИИ научился управлять ИИ: программисты переживают второй кризис за годПомните, как в начале года мы все учились разговаривать с кодовыми агентами? Осваивали промпты, гордились, что умеем заставить Claude Code или Codex писать код за нас. А теперь появился инструмент, который умеет управлять этими агентами сам — и это меняет правила игры.Речь о GrokBot — системе,…

Kubernetes снова обновился: что важно знать, если вы деплоите в облако

Kubernetes снова обновился: что важно знать, если вы деплоите в облакоЕсли ваши сервисы живут в Kubernetes, вы наверняка привыкли, что «стабильных» релизов не бывает слишком много. Очередная версия платформы приносит не только свежие фичи, но и напоминание: инфраструктурный код требует такого же ухода, как и приложение. Давайте спокойно разберёмся, что там внутри и почему это…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Возможно, вы пропустили

Что посмотреть на этих выходных: детектив с Кириллом Кяро, криминальная драма с Янковским и не только

  • От sbrayn
  • 13 ноября, 2026
  • 2 views
Что посмотреть на этих выходных: детектив с Кириллом Кяро, криминальная драма с Янковским и не только

Цифровой рубль вошёл в нашу жизнь: что это значит для кошелька и повседневных платежей

  • От sbrayn
  • 13 ноября, 2026
  • 6 views
Цифровой рубль вошёл в нашу жизнь: что это значит для кошелька и повседневных платежей

IPO снова в моде: почему бизнес спешит на биржу

  • От sbrayn
  • 13 ноября, 2026
  • 11 views
IPO снова в моде: почему бизнес спешит на биржу

Без уколов: умные часы смогут следить за сахаром в крови

  • От sbrayn
  • 13 ноября, 2026
  • 11 views
Без уколов: умные часы смогут следить за сахаром в крови

Boston Dynamics поставила Atlas на колёса — и он сразу выдал пируэт

  • От sbrayn
  • 13 ноября, 2026
  • 7 views
Boston Dynamics поставила Atlas на колёса — и он сразу выдал пируэт

Убыток в 8 миллионов, но есть и хорошая новость: разбираем отчёт Economatica

  • От sbrayn
  • 13 ноября, 2026
  • 6 views
Убыток в 8 миллионов, но есть и хорошая новость: разбираем отчёт Economatica