LINUX.ORG.RU

GVFS и кэширование файлов.

 ,


0

1

Использую gvfs (samba backend) для подключения samba шар и чтения файлов. Часто требуется доступ к одним и тем же частям файла, можно ли как-то организовать кэширование этих частей или самих файлов при помощи gvfs или любым другим способом? Выкачивать файл целиком не вариант, так как долго, а он обрабатывается на ходу.

★★★★★

А у тебя есть гарантия, что файлы на этих шарах никто не меняет в обход GVFS?

monk ★★★★★
()
Ответ на: комментарий от Landgraf

Тогда, по идее, кэширование и так есть. GVFS работает через mount.cifs, а там написано, что поведение по умолчанию: кешируется чтение (readahead) и запись (writebehind) через локальный страничный кеш Linux клиента (при условии что oplock (caching token) предоставлены и прошли).

monk ★★★★★
()
Ответ на: комментарий от monk

Согласно https://wiki.gnome.org/Projects/gvfs/backends gvfs-smb построен на библиотеке libsmbclient, а не на mount.cifs, так что вероятно нужно иначе реализовывать кэширование. Плюс ко всему сомневаюсь что mount.cifs при помощи readahead может кэшировать файлы или их участки объемом по 15 гБайт.

Landgraf ★★★★★
() автор топика
Ответ на: комментарий от Landgraf

построен на библиотеке libsmbclient, а не на mount.cifs

Там есть gvfs-mount, который на mount.cifs

Плюс ко всему сомневаюсь что mount.cifs при помощи readahead может кэшировать файлы или их участки объемом по 15 гБайт.

Он кэширует прочитанное. И на нём работает mmap. А дальше зависит от свободной оперативной памяти и настроек ядра.

monk ★★★★★
()
Ответ на: комментарий от monk

Не увидел в списке по ссылке gvfs-mount. Если это про утилиту с таким названием, то она просто вызывает нужный бэкэнд, насколько мне известно.

Landgraf ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.