>что-то мне говорит что это будет тормоз при любых операциях связаных с
>metadata. Это что-то вам неправильно говорит, tar -xf really_large_archive_from_tmpfs.tar примерно в 3 раза быстрее на pohmelfs чем async nfs. В 2 раза с диска, т.к. уперлись в его скорость (скорость xfs на нем).
>дело в том что truncate может быть сделан с другой ноды, и
>create с другой ноды.
>а глобального семафора как в случае VFS - не будет, или если
>будет - будут тормоза.
А если у вас два несинхронных потока работают с VFS, один делает open/create,а другой truncate, что будет? В VFS лочится инода, она же будет лочиться на сервере, когда два потока получат сообщения от своих клиентов о том, что пора делать create/truncate.
>я не увидел ответа на счет работы транзакций и replay у журнала
>транзакций, и коментарий на счет пседво-sync_io в случае записи с разных
>клиентов в пределы страницы.
>можно немного пояснений?
Транзакция содержит набор команд, выполняемых атомарно (в смысле клиент ждет, пока придет ответ, что транзакция готова). например создать файл и записать в него 10 страниц данных. Если в середине этой транзакции сервер отваливается, клиент переходит на следующий (для каждой конфигурации можно задавать их сколько угодно) и посылает ему ту же самую транзакцию. сервер должен ее получить, раздать всем воим зеркалам и прислать (если есть такой флаг) ответ, что все в порядке.
Запись в пределах одной страницы лочит страницу и пишет данные. Если после лока страница оказалась не uptodate, она считывается с сервера (это по умолчанию уже реализовано), либо сообщение, которое помечает страницу как не uptodate может содержать сами данные, поэтому последующая запись в нее будет корректной. Этого пока нет, как, впрочем, и самого механизма когерентности кэшей. Код для когерентности метаданных (в директории появился новый объект например) есть и был протестирован, но я не вижу особого смысла в этом, поэтому пока он закомментирован на сервере.
Все синхронизации делаются не строже, чем в случае локальной работы нескольких потоков с одним и тем же файлом.