История изменений
Исправление
Eddy_Em,
(текущая версия)
:
У меня на телескопах куча демонов работает, которые таким же способом обновляют файлы для вендовозных машин: записал временный файл, закрыл его, потом сделал rename. Проверял — проблем не было.
Но, думаю, похоже, проблем не было из-за того, что у меня все те временные файлы имели размер меньше стандартного буфера в 4кБ. Попробую в следующий раз, как до работы доберусь (числа 17, наверное, только), воткнуть там таки fsync. Авось, получится...
Честно говоря, я наивно полагал, что если rename делается из того же процесса, в котором пишется файл, то и ядро корректно с файлом поступает. Похоже, это не так.
Вот хоть сиди, да читай исходники ядра ☹
Исходная версия
Eddy_Em,
:
У меня на телескопах куча демонов работает, которые таким же способом обновляют файлы для вендовозных машин: записал временный файл, закрыл его, потом сделал rename. Проверял — проблем не было.
Но, думаю, похоже, проблем не было из-за того, что у меня все те временные файлы имели размер меньше стандартного буфера в 4кБ. Попробую в следующий раз, как до работы доберусь (числа 17, наверное, только), воткнуть там таки fsync. Авось, получится...
Честно говоря, я наивно полагал, что если rename делается из того же процесса, в котором пишется файл, то и ядро корректно с файлом поступает. Похоже, это не так.