LINUX.ORG.RU

Вышли progsreiserfs-0.1.6


0

0

Это альтернативная реализация reiserfsprogs, основанная на написанной с нуля библиотеке libreiserfs.

Состоит из: libreiserfs, mkfs.reiserfs, resizefs.reiserfs, tunefs.reiserfs, cpfs.reiserfs.

Перечисленные утилиты являются полнофункциональными аналогами оригинальных, за исключением того, что cpfs.reiserfs нет в оригинальном наборе.

>>> Подробности



Проверено:

Ну и нахер? Плюс сомнения насчет с нуля... Плюс когда сомнений нет (что не с нуля), надо в шапке файла писать не только свой (C).

anonymous
()

Весьма интересные шапки у файлов: reiserfs_keys.c -- reiserfs keys code Copyright (C) 2001, 2002 Yury Umanets (umka@altlinux.ru)

Some parts of this code are from the original reiserfs code, as found in reiserfsprogs and the linux kernel.

В переводе на русский, видимо означают следующее: Я тут украл код у reiserfs team, и если вы хотите этот краденый код купить - обращайтесь.

По уму - должно быть 2 копирайта, и один из них - на Ганса Райзера. Пока что правильная шапка только у reiserfs_hashes.c

green ★★★★★
()

А, кстати. Эта реализация не призвана являться полной заменой reiserfsckprogs, если кто не понял, потому что в ней нет reiserfsck.

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

2 green Не совсем в тему, ну да ладно... В reiser4 fsck будет полноценно работать (чинить) на ro разделах?

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

Трудно сказать. На самом деле возможно что и нет, ведь если для починки нужна перебалансировка дерева, то если файловая система примонтирована (пусть и RO), мы легко попадаем в ситуацию когда кернел считает что лист дереве лежит в блоке X, а fsck уже переложило его в другой блок. (или даже не сам лист переложила, а просто данные из этого листа переплыли в другой).

Надеюсь не нужно об'яснять к чему такие фокусы привести могут.

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

Вещь, кстати нужная. reiserfsprogs страдают отсутствием "отделяемой" библиотеки, с которой могли бы линковаться другие программы для работы с файловыми системами. Такая альтернативная реализация вполне может эту проблему решить (я собсно подозреваю она для этого и предназначена в первую очередь).

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

Но ведь online defrag решает схожую проблему? Я догадываюсь, что он в ядре, но можно же и fsck туда засунуть?

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

Засунуть в принципе можно, но пока еще reiser4 находится в крайне зародышевом состоянии, так что крайен трудно предсказать что из этого выйдет.

green ★★★★★
()

>>Весьма интересные шапки у файлов: reiserfs_keys.c

Зря ты green наезжаешь, если б хотел украсть, так нигде бы не написал. Сорри за неправильную шапку, это понезнанию. В ближайшее время исправлю.

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

А если говорить о том зачем это нужно, так green собственно уже все правильно сказал. В первую очередь как библиотека для линковки разлиных прожектов. Например: GNU Parted, GNU GRUB. Возможно и другие нацдутся. На оригинальные прогсы вряд ли кто залинкуется. Скорее включат код внутрь (с соотв. копирайтами).

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

Я не наезжаю, я указываю на проблему.

green ★★★★★
()

Это не проблема. Я проконсультировался и исправяю.

Попробуй еще правильно все сделай. Например в файле hashes.c вообще нету копирайта.

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

Про сомнения по поводу высказывания "с нуля". Конечно некоторые простые функции я взял из оригинальных прогсов.

int reiserfs_key_format(const struct key *key) { int type;

type = reiserfs_key_get_type_v2 (key);

if (type == 0 || type == 15) return KEY_FORMAT_1;

return KEY_FORMAT_2; }

С нуля, значит, что я не форкнул оригинальные прогсы. Я все переписал, заимствуя некоторые части (небольшие), зачастую переписывая их. О чем есть соотв. запись в хедере. Не всюду, я писал уже об этом, но все же.

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

Конечно не проблема, какт олько исправишь.

А еще там есть такой файлик - README, в котором написано про копирайты. Касательно hashes.c - рекомендую посмотреть на 2 строчки выше об'явления функции yura_hash()

green ★★★★★
()

>>Я не наезжаю, я указываю на проблему.

Ты типа не наезжаешь, но сказал между тем, что я украл чужие исходники с тем, чтобы их продавать. Это я и посчитал наездом.

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

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

Some parts of this code are from original reiserfs code as found in reiserfsprogs and the linux kernel. Copyright (C) 1996-2002 Hans Reiser, see NAMESYS-README for licensing and copyright details.

или

This code are from original reiserfs code as found in reiserfsprogs and the linux kernel. Copyright (C) 1996-2002 Hans Reiser, see NAMESYS-README for licensing and copyright details.

И добавлю файлик NAMESYS-README, который есть README из reiserfsprogs.

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

Я просто перевел на русский язык твою "шапку". (ну ты же знаешь что такое "копирайт", да?)

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

В грубе это, видимо, для того чтобы читать reiserfs для загрузки кернела (сюрприз). Правда сейчас пока абстракных функций для доступа к файлам я не нашел, но видимо, будут.

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

Груб уже как полтора года умеет читать reiserfs.

P.S. Излишняя самоуверенность - это некрасиво.

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

Имеется в виду - будет читать reiserfs посредством использования общей для нескольких проектов библиотеки.

green ★★★★★
()

В GRUB-e это действительно нужно для того чтобы кернел прочитать.

Ему в принципе нужно достаточно мало функционала. Поискать директорий, потом прочитать его. Прочитать блок. Хотя, он его сразу в журнале ищет, поэтому можно сказать, что GRUB тоже требует довольно таки много функций.

>>А Партед Клаузен переписывать будет. Это вопрос или утверждение? Что значит переписывать. Скоро будет версия 1.6.0. Послее нее или в ней, он добавит поддержку reiserfs. Скажу даже больше, весь функционал в progsreiserfs заточен в первую очередь под нужды партеда. То есть: скопировать, создать, ресайзить.

Поэтому fsck еще и нету. Хотя справедливости ради нужно сказать, что для fsck нужен код манипуляции B+tree, который довольно таки нетривиален.

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

Блин, зачем использовать какую-то раздутую (для целей груба) библиотеку, если есть родной и компактный код (9888 байтов с загрузочным сектором)? Я понимаю на системах с OpenFirmware можно сколь угодно большие загрузчики делать (смотрите yaboot) - но не ia32 же!

А насчет партеда - это утверждение. В 1.6 добавит, но это будет мертворожденная версия.

anonymous
()

Причем у библиотеки (очевидно, у груба статическая линковка) не FSF копирайт.

anonymous
()

2Green: Ну так как на счет копирайта? Устроит такой ответ. Чтобы поджход не менять. Есть ссылка на файлик, в котором все написано.

2anonymous: О чем ты бредишь, пьяное полено? Какая самоуверенность. В грубе reiserfs кода кот наплакал. Кроме того, полтора года назад reiserfs был еще не юзабелен. Green, поправь если ошибаюсь.

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

>>А насчет партеда - это утверждение. В 1.6 добавит, но это будет >>мертворожденная версия.

Вот у тебя он забыл спросить. Нужно ему сказать :))

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

Это вы, Banshee, бредите. Фраза про самоуверенность относилась к оригинальной реплике greena о причинах использования вашей библиотеки в грубе. Также я не говорил, что в грубе много кода reiserfs. Я говорил, что в грубе есть родная поддержка рейзерфс (и из ядреной рейзерфс там только структуры данных) и использовать вашу библиотеку не имеет смысла. Более того, если вы хотите включить код в _GNU_ GRUB, вам понадобится передать копирайт FSF - что невозможно по очевидным причинам.

Про юзабельность green поправит. Я использовал.

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

Насчет копирайта - это к лоерам всяким. То что раньше было совершенно криво - очквидно, а как сейчас - незнаю. Выглядит вроде ок.

Полтора года назад reiserfs был вполне себе юзабелен. Но это практически все что я знаю о тех временах ;) И reiserfs кода в GRUB'е не так уж и мало, больше чем какого бы то нибыло другого fs кода. ;) Код в GRUB'е на первый взгляд мутноватый, но то же можно сказать и о кернелном коде, работает и ладно (я, правда, не проверял)

2anonymous: правильная лицензия - дело наживное, был бы код хороший.

green ★★★★★
()

Ну тогда прошу прощения.

2green:
Ты не ответил, так правильно?

Some code used in this file are from original reiserfs code as found in reiserfsprogs and the linux kernel.
Copyright (C) 1996-2002 Hans Reiser, see NAMESYS-README for licensing and copyright details.

или так

This code are from original reiserfs code as found in reiserfsprogs and the linux kernel.
Copyright (C) 1996-2002 Hans Reiser, see NAMESYS-README for licensing and copyright details.

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

Мутноватым он кажется из-за кошмарного ГНУсного стиля, по-моему.

2 Banshee: Кстати, эти отмазки насчет неосведомленности о правилах упоминания чужих копирайтов просто смешны.

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

Я ответил - вопросами копирайтов занимаются профессиональные лоеры, и за консультации они берут много денег. Я непрофессиональный, и вообще не лоер. Так как было в оригинале - вообще никуда не годилось, так как ты пишешь сейчас - выглядит вполне пристойно. Но я не являюсь истинной в последней инстанции по этому вопросу и все такое. Тебе лучше спросить правообладателя, устраивает ли его такая формулировка.

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

"Ну тогда прошу прощения." - принято.

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

Посмотрел я тут в GRUB код - он наглядно демонстрирует, что при нескольких источниках кода, при внесении изменений в один из них необходимо править все другие (с неизвестно какими трудозатратами, причем) отдельно.

Так например нет поддержки relocated journal (grub такую fs вообще не распознает, у нее magic другой). Еще чего-то наверное нет - лень что-то мне глубже копать ;)

green ★★★★★
()

Часть ГРУБ-а которая с рейзер вообще выглядит как один большой хак. Как только он немного заработало, автор перестал что-либо делать.

На счет копирайта, спрошу у Ханса.

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

Ну так эта же библиотека тоже будет отставать от namesys по определению. В грубе лучшее решение из возможных, на мой взгляд, нельзя же линковать к нему 4 (ext2, reiserfs, xfs, jfs) библиотеки по 100-200кб! Да и stage1_5 невозможна будет...

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

Если библиотека будет удачна - namesys ее вполне может купить. Откуда взялась цифра в 200Kb мне непонятно:

-rw-r--r-- 1 green users 81822 Feb 18 13:50 ./libreiserfs/.libs/libreiserfs.a

Это причем еще нестрипнутая версия, естественно. Кернелный код reiserfs занимает порядка 140 килобайт - почему библиотека будет больше мне непонятно.

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

Это верхняя цифра. Смотрите на libxfs.a (и на ядреный код xfs ;-).

Я хочу сказать, что не нужно рассматривать библиотеку как панацею на все случаи жизни. Она непригодна для груба.

anonymous
()

Она непригодна для ГРУБ-а как мне кажется только тогда если автор ее не захочет заюзать.

Статическая линковка вполне его удовлетворит. Зачем пихать в ГРУБ весь код. Никто ему при линковке -Wl,--whole-archive передавать не будет. Он заюзает тот минимум, который ему нужен.

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

Статическая линковка его удовлетворит если он сам захочет :))

anonymous
()

Не нужно говорить о плохом ГНУТОМ стиле по исходникам груба.

Исходники в нем просто ужасны. Сначала я думал, что исходников хуже чем reiserfsprogs нету, но оказалось, что я ошибался :))

Ты посмотри исходники GNU Parted например.

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

>>Статическая линковка его удовлетворит если он сам захочет :))

Об этом я и говорил на один постинг раньше.

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

2Banshee, :)))) ты слишком серьезно ко всему относишься :) перечитай фразу :)

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