LINUX.ORG.RU

Вышли progsreiserfs-0.3.0 (libreiserfs)


0

0

Изменения:
1. Усовершенствованный тюнинг. Перенесение части данных которые занимают место для журнала, resize журнала если нужно.
2. Поддержка uuid и volume label
3. Поддержка размеров блока 1024, 2048, 4096, 8192
4. Мануалы для всех прог и для reiserfs вообще.
5. Readonly доступ к файлам и директориям (reiserfs_file_open, reiserfs_file_read, reiserfs_file_seek, etc).
6. Regression tests
7. Демки (ls, cat, traverse, lookup) и немного описания API.
8. DAL - simple device abstraction layer, через который работает libreiserfs
9. Возможноть статической линвовки (полной и частичной (только на glibc))
10. Функции работы с balanced tree.

И просто куча утилитных вещей.

>>> Качать тут



Проверено:

Заюзана в GNU Parted версии 1.6.0. Теперь он умеет делать с рейзером то же самое, что с ext2.

По словам Andrew Clause-a заинтересованы в использовании библиотеки: yaboot, EVMS, partimage

Banshee
() автор топика

Помойму по дефолту там во всяком случае раньше было блоки по 1к. По если поставить 4к должно быть быстрее?

anonymous
()

С тех пор как я заинтересовался reiserfs умолчательный размер блока был 4096

А по поводу скорости... Чем меньше блок, тем больше битмап, и соответственно меньше производительность алокатора когда количество используемых блоков увеличивается. Это справедливо в том случае, когда используется тупой поиск свободного блока от нуля до конца битмапа. Можно например искать с конца битмапа когда свободного места в файловой системе осталось 50% от общего размера. Это тоже довольно таки очевидный и простой прием. Алокатор должен быть гораздо сложнее.

Если интересно, спроси green-a, он в этом спец :)

Banshee
() автор топика

Я в этом не спец, но так уж получилось что приходится этим заниматься. Насколько мне известно, blocksize в reiserfs был равен 4K всегда до совсем недавнего времени. Теперь есть патчи позволяющие менять blocksize в значения кратные 1024, но не большие 4096 (потому что linux buffer cache не поддерживает файловые системы с размером блока большим размера страницы).

Чем меньше размер блока тем хуже производительность файловой системы в большинстве случаев. Дело даже не в "тупой" block allocation policy (которая вовсе не такая тупая, как можно было бы подумать ;) ). Все дело в том что размер листа в дереве хранящем метаданные всегда равен размеру блок (потому что лист зхранится в блоке). У листа есть свой заголовок и тп которые занимают место. Вот и первый минус - меньше размер блока - больше метаданных расходуется на представление того же количества даных. Далее размер direct item'а не может превышать размер одного листа, таким образом чем меньше размер блока, тем меньше максимальная длинна пути хранимая внутри симлинков. (потому что содержимое симлинков может храниться только внутри direct item'ов). Далее - чем больше в дереве листьев - тем больше "глубина" дерева и эта проблема - самая большая на текущий момент. reiserfs v3 имеет жесткое ограничение на глубину дерева равную 5ти. То есть как только дерево выросло больше чем на 5 уровней "вниз", все падает (при доступе к таким глубоким элементам).

Примерно такие вот данные ;)

green ★★★★★
()

2green:

Ты можешь сколько угодно скромничать, но я всегда читаю твои патчи

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

Упс, глюк приключился, строку "blocksize в значения кратные 1024, но не большие 4096" следует читать как "blocksize в значения кратные 1024, но не большие размера страницы для данной архитектуры (4096 для x86 и многих других, 8192 для ia64 и Alpha)."

green ★★★★★
()

Немного не в тему, но... Насчет reiserfs - иногда некоторые файлы просто "исчезают"; то есть они есть, но ls их попросту не показывает и говорит что "permisison denied". Лечится reboot'ом. Недавно поставил новое ядро, _пока_ все работает. Это может быть связанным с большим количеством файлов или это какой-нибудь (возможно, пофиксенный) баг в reiserfs? И еще один вопрос - раз уж в этом треде народ разбирается в линуксе, то вот какой у меня вопрос: КАК ПОДКЛЮЧИТЬ ПОДДЕРЖКУ КЛАВИАТУРЫ В linux 2.5.8? Скомпилировал все драйверы в input devices, но без результатов - мышка-то работает (serial), а вот клавиатура (ps/2) ни в какую... Заранее извиняюсь за злостный частичный оффтопик :-)

McGray ★★
()

2McGray: Ты б запостил bug-report на reiserfs-list@namesys.com

Есть такое мнемоническое правило. Если руту говорят permission denied, это ненормально :))

Banshee
() автор топика

2Banshee: если еще раз появится такая бага, то обязательно запостю :-). Просто я подозреваю что это уже пофиксили в новой версии ядра - после того как я ядро обновил все нормально себя ведет (пока :-).

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

Eсли ни с того ни с сего на файлы тебе говорят permission denied, это значит самое время брать самые распоследние reiserfsprogs и запускать на такой партишен reiserfsck. Если это не помогает, стоит написать в reiserfs-list@namesys.com, незабыв дописать что есть в логах, какой кернел используется, что сказал reiserfsck перед смертью, и приложив снапшот метадданных (man debugreiserfs на предмет ключика -p)

А клавиатуру там включать довольно муторно, если ты про патчи от Dave Jones ;) Пользуй 2.5.9 ;)

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