* [sisyphus] I: py9p-1.0.5-alt4 (+fuse9p)
@ 2012-11-03 19:21 Peter V. Saveliev
0 siblings, 0 replies; only message in thread
From: Peter V. Saveliev @ 2012-11-03 19:21 UTC (permalink / raw)
To: ALT Linux Sisyphus discussions
…
В Сизиф отправилась очередная сборка библиотеки py9p. Библиотека
предоставляет как клиентский, так и серверный интерфейс. Начиная с
последних версий, отдельным подпакетом собирается fuse9p, это новый
«from scratch» FUSE-коннектор для протокола 9p.
В двух словах про протокол: чрезвычайно экономичный в плане кода
протокол RPC и файловой системы. Несколько избыточен в плане траффика.
Рассчитан на распределённые системы, поэтому некоторые операции не
предусмотрены семантикой протокола (например, перемещение файла в 9p это
создание целевого файла, копирование туда содержимого и удаление
старого). Чрезвычайно удобен для встраивания в разнообразные программы
(см. также pyvfs)
В двух словах про fuse9p: несмотря на множество существующих реализаций
v9fs для Linux, ни одна из них, на мой взгляд, не может считаться
удовлетворительной. Ошибки клиента из набора Plan9 from User Space, это
отдельная тема, потому вот некоторые отличия нового fuse9p от ядерной
реализации (mount -t 9p):
* ядро не поддерживает аутентификацию ни в каком виде, fuse9p умеет pki
(обычные ssh rsa-ключи) и планируется поддержка sk1/2
* даже недоделанный микрокэш, учитывающий особенности семантики обоих
протоколов, и fuse, и 9p, даёт чудовищный прирост в скорости при чтении
каталогов: если ядерная реализация может тратить на листинг директории
из пары сотен файлов на тест-стенде секунды (sic!), то у fuse9p на это
же уходят доли секунды, разница иногда даже на порядки.
* fuse9p, в отличие от ядерного модуля, не подвисает при ошибках сети,
при недоступности сервера, при ошибках протокола etc; любые такие ошибки
в сочетании с таймаутом на операции у fuse9p приводят всего лишь к
повторному соединению с сервером либо к выходу, если соединение невозможно.
Напоследок мелкий шрифт. Поскольку fuse9p изначально писался лишь для
проверки гипотезы, что ядерная реализация ФС 9p может иметь менее кривые
альтернативы, то некоторый функционал пока отсутствует. Буду дописывать
в фоне. Но если он вдруг кому понадобится срочно — шлите бандероли.
--
Peter V. Saveliev
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2012-11-03 19:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-03 19:21 [sisyphus] I: py9p-1.0.5-alt4 (+fuse9p) Peter V. Saveliev
ALT Linux Sisyphus discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
public-inbox-index sisyphus
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sisyphus
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git