История изменений
Исправление intelfx, (текущая версия) :
Без анальных плясок — никак.
Можно воспользоваться тем фактом, что I/O offset — это часть file description, а не file descriptor. Пишем программу-обёртку, которая будет хранить дубликаты файловых дескрипторов, полученных после open. Время от времени проверяем размер, если он выше порога — вручную копируем диапазон с 5M до конца по смещению 0 и делаем lseek + truncate.
Проблема в том, что тут огромная такая дыра с гонкой.
UPD: А, можешь ещё попробовать fallocate(FALLOC_FL_COLLAPSE_RANGE)
+ lseek(SEEK_CUR, -5*1024*1024)
. Хотя тут тоже гонка, но гораздо меньше.
Исходная версия intelfx, :
Без анальных плясок — никак.
Можно воспользоваться тем фактом, что I/O offset — это часть file description, а не file descriptor. Пишем программу-обёртку, которая будет хранить дубликаты файловых дескрипторов, полученных после open. Время от времени проверяем размер, если он выше порога — вручную копируем диапазон с 5M до конца по смещению 0 и делаем lseek + truncate.
Проблема в том, что тут огромная такая дыра с гонкой.