Интересно, как это работает.
Sep. 4th, 2013 09:38 amИз Changelog новой версии ядра Linux (3.11, "Linux for workgroups"):
В системные вызовы open() и openat() добавлена поддержка флага O_TMPFILE, позволяющего передать файловой системе информацию о создании временного файла, не видимого в иерархии ФС, что позволяет применить для данного типа файлов отдельные оптимизации. Создаваемые при помощи O_TMPFILE временные файлы не имеют имени, в качестве пути передаётся только директория. Создание невидимого временного файла без имени позволяет разработчикам приложений не задумываться о возможных уязвимостях, таких, как атака через символические ссылки;
В ряде мест такая возможность сильно упростит жизнь. Но до широкого распространения, боюсь, еще долго.
В системные вызовы open() и openat() добавлена поддержка флага O_TMPFILE, позволяющего передать файловой системе информацию о создании временного файла, не видимого в иерархии ФС, что позволяет применить для данного типа файлов отдельные оптимизации. Создаваемые при помощи O_TMPFILE временные файлы не имеют имени, в качестве пути передаётся только директория. Создание невидимого временного файла без имени позволяет разработчикам приложений не задумываться о возможных уязвимостях, таких, как атака через символические ссылки;
В ряде мест такая возможность сильно упростит жизнь. Но до широкого распространения, боюсь, еще долго.
no subject
Date: 2013-09-05 12:47 am (UTC)Разумеется - так для close подобные функции естественны довольно таки
А в RSX каталог был просто файлом с записями по 16B емнимп, которые устанвливали соответствие имяфайла -> его ID - (ID - пара - порядковый номер, контрольное значение, потом появился третий - номер устройства кажется, или хоста).
Файловый процессор в принципе умел по отдельному каталогу искать (хотя я так и не очень понял зачем), а уже работа с вложенными каталогами делалась просто на уровне user space библиотеки (что забавно - хотя структура была формально двух уровневой - главный каталог - пользовательские - зашито было исключительно на уровне соглашений об именовании файлов и соответствующих функций. Уже утилита Verify (тамошний fsck) работала с произвольной вложенностью каталогов и произвольными же их именами.
А собственно файл с точки зрения системы представлялся именно ID.