LINUX.ORG.RU

Вышел fuse-zip 0.2.0: первая файловая система для FUSE с поддержкой модификации ZIP-архивов

 , , ,


0

0

Вышла fuse-zip 0.2.0. Релиз хоть и минорный, но революционный по своей сути.

fuse-zip позволяет любой программе работать с содержимым zip-архива как с обычным каталогом, читать/редактировать/добавлять/удалять файлы безо всяких дополнительных модификаций.

fuse-zip не имеет аналогов, так как из всех существующих файловых систем изменять содержимое архива может только виртуальная файловая система mc, требующая для своего использования специальной доработки в программе.

По производительности fuse-zip превосходит все известные аналоги, будь то KIO, Gnome GVFS, mc vfs, unpackfs, avfs или файловая система, построенная на основе fuse-j, на больших архивах и не уступает им на малых объёмах данных.

Тесты производительности VFS: http://code.google.com/p/fuse-zip/wik...

>>> Скачать

На первый взгляд выглядит как обыкновенная прослойка с реализацией на твердую четверку. Оцени насколько у тебя буффер критичен. Возможно над ним еще надо поработать. А так вообще идея полезная. P.S. За GPL3 отдельный респект :)

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

> А ты уверен, что делать буффер списком чунков есть правильно?

Так нет проблем с переаллокацией огромного куска памяти при увеличении размера файла. Кроме того, такой подход позволит в будущем сделать эти чанки(или всё же чунки?:) ) прозрачно сжимаемыми, так что на 4кб разжатых данных сможет оказаться совершенно другое число сжатых, а скорость произвольного доступа от этого упадёт не так сильно, как при хранении всего сжатого файла одним куском.

> Чунки по 4к из каких соображений - к размеру страницы?

Да. Ну и немного интуиции.

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

> На первый взгляд выглядит как обыкновенная прослойка с реализацией на твердую четверку. Оцени насколько у тебя буффер критичен. Возможно над ним еще надо поработать.

Посмотрю. Но что-то у меня пока нет идей, как его можно улучшить. Есть предложения?

> А так вообще идея полезная. P.S. За GPL3 отдельный респект :)

Там LGPLv2+ вообще-то :)

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

Узнаю ЛОР, столько коментов и ниодного по теме

xargs ★★★
()

Странно, у меня на параметр, указанный в readme-ке говорит: fuse: unknown option `volname=zip' и еще одна интересная особенность, после примонтирования архива, переписываю туда ~1.5 гига mp3-шек, чудес компресии, ессно, не жду, но интересно другое - после выполнения размонтирования рядом с собственно архивом появляется файл archivename.zip.[6 случайных букв] и начинает заполняться с 0 до нового размера архива, как только все заполнилось, он пропадает, или скорее пропадает оригинал, а этот файл переименовывается в оригинал. Вот мне интересно, в тестах производительности учитвался момент размонтирования архива, когда собственно и происходит его перепаковка? Так же при увеличении размера архива увеличивается и время его монтирования. ИМХО но это наверное все таки зависит от кол-ва упакованных файлов. Несколько раз замечено, что после добавления файлов в архив, его размонтировани/монтирования, последние добавленные файлы пропадают, а результирующий архив не меняет своего размера после окончания "процесса" размонтирования. ЗЫЖ fuse-zip 0.2.3

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

> Странно, у меня на параметр, указанный в readme-ке говорит: fuse: unknown option `volname=zip'

У меня вроде работало. Надо перепроверить.

> и еще одна интересная особенность, после примонтирования архива, переписываю туда ~1.5 гига mp3-шек, чудес компресии, ессно, не жду, но интересно другое - после выполнения размонтирования рядом с собственно архивом появляется файл archivename.zip.[6 случайных букв] и начинает заполняться с 0 до нового размера архива, как только все заполнилось, он пропадает, или скорее пропадает оригинал, а этот файл переименовывается в оригинал.

Таков принцип работы libzip.

> Вот мне интересно, в тестах производительности учитвался момент размонтирования архива, когда собственно и происходит его перепаковка?

Да, учитывалось.

> Так же при увеличении размера архива увеличивается и время его монтирования. ИМХО но это наверное все таки зависит от кол-ва упакованных файлов.

Да. И что?

> Несколько раз замечено, что после добавления файлов в архив, его размонтировани/монтирования, последние добавленные файлы пропадают, а результирующий архив не меняет своего размера после окончания "процесса" размонтирования.

Это недоработка в fusermount, который не дожидается, пока процесс файловой системы завершится. Я всё никак не соберусь поругаться на эту тему с авторами fuse.

P.S. Это такой род мазохизма: писать в тему, открытую почти месяц назад? ;)

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

> Э-э-эх, еще бы доки (мечтательно так)

А чего именно не хватает? Ман есть, все опции в нём проеписаны.

> и монтирование через fstab...

А кто мешает? Любую fuse-файлосистему можно монтировать из fstab.

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