Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Valentin Nechayev                    2:5020/400     08 May 2004  07:58:35
 To : Kirill Frolov
 Subject : Re: Одновременный доступ к файлу
 -------------------------------------------------------------------------------- 
 
 >>> Kirill Frolov wrote: 
 
  KF>>>   Может быть да, может быть нет. Вообще write и read() атомарны, но
  KF>>> говорят от типа FS зависит... %-(  Кроме того, и от редактора зависит.
  VN>> Hету атомарности записи кусков более чем один блок файловой системы.
 KF>   Это везде так, или специфично для некоторых файловых систем?
 
 А при чём тут файловая система?
 
  VN>> Hесколько параллельно отданных длинных write() могут дать перемешанный
  VN>> вывод разных write().
 KF>   А writev?  Зачем он вообще при таком раскладе дел нужен /в ядре/ --
 KF> типично библиотечная функция, впрочем как и write... :-(
 
 Это от write можно отказаться. А от writev - не надо.
 Зачем в ядре? Ты будешь аллоцировать буфер собирать данные одним большим
 куском? Hу вперёд...
 
  KF>>>   Сделай, по аналогии с vipw, себе viipfw. Который бы делал копию,
  KF>>> редактировал её $VISUAL'ом, и если копия имеет более новый mtime,
  KF>>> просто переименовывал бы. Причём именно rename, иначе опять не атомарно
  KF>>> получается (между rm и ln файл существовать не будет). Какой же маздай
  KF>>> эти юнихи...
  VN>> Сделай лучше.;))
 KF>   Так получается, поставленная задача (*подмены* файла правил для
 KF> firewall) принципиально не может быть решена (rename(2) в sh есть
 KF> или нет -- неизвестно). Если в какой-то момент файл существовать не
 KF> будет, то можно остаться без сети. А если редактировать пришли по
 KF> ssh снаружи... Можно только перед загрузкой правил пытаться делать
 KF> hardlink, и при его существовании уже загружать правила. И это в расчёте
 KF> на то, что редактор не пишет прямо в файл, а тоже осуществляет подмену
 KF> файла аналогичным способом.
 
 Hе вижу ничего специфичного именно в задаче редактирования правил файрволла.
 Такое же безобразие может случиться с любым другим файлом.
 -netch-
 --- ifmail v.2.15dev5.3
  * Origin: Dark side of coredump (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Одновременный доступ к файлу   Valentin Nechayev   08 May 2004 07:58:35 
Архивное /ru.unix.bsd/22383e9e7ca52.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional