Для ramfs появился системный вызов relpathat с обёртками в libredox
29.05.2026Для файловой системы в памяти реализован вызов relpathat, возвращающий канонический путь разрешения символических ссылок относительно корня. Обёртки добавлены в крейты libredox и redox-scheme.
Зачем это нужно
В файловой системе, собранной в памяти при загрузке ОС, пути — единственное, что связывает программу с объектом. Имя файла, путь через символическую ссылку, путь с .. — всё это разные строки, указывающие на один объект.
Системе, работающей с такими путями, нужен способ спросить: как этот путь выглядит после разрешения ссылок и относительно корня? Ответ — один канонический вид, который можно сравнивать, хранить и передавать дальше. Именно это и возвращает новый вызов.
Что добавлено
Вызов relpathat реализован в ramfs — файловой системе в памяти, которая живёт в userspace и обслуживает файлы загрузки. Реализация датирована 29 мая.
Обёртки выложены одновременно: 27 мая в крейте libredox и в redox-scheme. То есть вызов доступен и как обычный системный, и через слой доступа к схемам.
Почему это касается Rust
libredox — крейт-обвязка системных вызовов для Redox. Новая функция в нём — это новая точка API для любого кода на Rust, который работает с путями внутри userspace. Для автора схемы это инструмент, которого раньше просто не было.
Оригинал
Коммит feat: Implement realpathat for ramfs от 29 мая 2026 года в репозитории redox-os/base, обёртки — feat: Add relpathat и feat: Add relpathat and MultipleFds от 27 мая в redox-os/libredox и redox-os/redox-scheme; сводка «This Month in Redox — May 2026», раздел «Security Improvements»
Упоминаний: 1 · Просмотров: 3