Valentin Nechayev
2012-10-15 05:22:14 UTC
Hi,
Вот интересную тему поднял коллега:
Почему в позиксе нет функции flink(int fd, const char *name)?
Её отсутствие не даёт возможности атомарного создания файла с нужным
содержимым. Чтобы можно было создать inode без имени, наполнить его, и
присвоить имя только когда он уже готов для дальнейшей обработки. Hет - нужно
временное имя, потом rename(), плюс чистка от временных файлов, образовавшихся
при обрыве связи, защита от обработки временных файлов, и так при каждом cp,
scp, ftp, wget... :-(
(тут: http://gul-tech.livejournal.com/9541.html)
А действительно - если мы в принципе позволяем удалённые из всех каталогов, но
ещё существующие файлы на FS, почему бы эту возможность не довести до
логического завершения и не создавать для таких новые имена?
-netch-
... Это были глаза профессора Плейшнера.
Вот интересную тему поднял коллега:
Почему в позиксе нет функции flink(int fd, const char *name)?
Её отсутствие не даёт возможности атомарного создания файла с нужным
содержимым. Чтобы можно было создать inode без имени, наполнить его, и
присвоить имя только когда он уже готов для дальнейшей обработки. Hет - нужно
временное имя, потом rename(), плюс чистка от временных файлов, образовавшихся
при обрыве связи, защита от обработки временных файлов, и так при каждом cp,
scp, ftp, wget... :-(
(тут: http://gul-tech.livejournal.com/9541.html)
А действительно - если мы в принципе позволяем удалённые из всех каталогов, но
ещё существующие файлы на FS, почему бы эту возможность не довести до
логического завершения и не создавать для таких новые имена?
-netch-
... Это были глаза профессора Плейшнера.