Dec. 16th, 2015

wizzard: (Default)
Я вот краем уха слышал, что в Unix'ах идеологически правильно, к примеру, если у нас есть какой-то browsable сетевой ресурс или устройство - интегрировать его как mount point, дабы дальше его всяческий софт мог использовать с этой точки монтирования, не заморачиваясь деталями.

Ну, nfs, smb, procfs и так далее.

А вот в каком месте (POSIX?) можно прочитать, как предполагается при этом жить с concurrency?
Т.е. вот я получил список файлов в папке, показал его юзеру, он что-то открыл и потом сделал "save" в ту же папку. А к тому времени на него напал какой-нибудь, ну не знаю, search indexer, или банально другой юзер файл открыл.

Хочется юзеру показать диалог "файл занят Васей", а индексеру сказать "отпусти файл временно", и всякое такое прочее.

Предположим, что у нас идеальный случай, и мы контролируем (можем запатчить) и приложение, и сетевой ресурс, и API файловой системы.

То есть, баги конкретных реализаций можно отставить в сторону, ограничиться багами в спецификациях. Где про такое читать, чтобы велосипед не изобретать?

UPD: чтиво в тему, чтобы была понятна глубина кроличьей норы -
http://danluu.com/file-consistency/
http://0pointer.de/blog/projects/locking.html
http://0pointer.de/blog/projects/locking2
https://www.samba.org/samba/news/articles/low_point/tale_two_stds_os2.html

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 26th, 2019 02:39 pm
Powered by Dreamwidth Studios