LINUX.ORG.RU
ФорумTalks

Дело было вечером: UBIFS поверх DVD-RW

 , pktcdvd, , ,


0

2

Все помнят пакетную запись на диски? Правила там простые. Выравнивание блоков, и перед чтением, если последним была запись - надо делать flush. NAND не напоминает?

В общем, взял я ubifs, взял block2mtd. Добавил в block2mtd хаки, а именно:

* writesize теперь задается из командной строки.

* отправка команды flush, точно так же как делает pktcdvd.

Втыкаем dvd+rw болванку и пишем немного магии

dvd+rw-format /dev/sr0
make
sudo insmod ./block2mtd.ko block2mtd=/dev/sr0,16384,2048
ubiformat /dev/mtd0

Дальше можно создавать тома ubi и монтировать, как вы бы сделали с нандом. Прелесть решения - ubi умеет делать полноценный wear leveling, и если память не изменяет - делать и regeneration, как и yaffs2 (перезапись данных в блок по прошествии времени, чтобы не пропали).

В общем, пока proof-of-concept, для большего не годится:

* writesize надо указывать вручную.

* размер mtd захардкожен для моей болванки

* Ничего не сделано с управлением плохими блоками. Тут надо раскурить спеку по приводам, и понять в каком случае отдавать из write/read фейл, а так же прибить реализацию таблицы плохих блоков, как в NAND'е (учитывая специфику - ее держать в файле).

* Никакого управления скоростью чтения/записи привода

* Работает нестабильно. Пару раз привод начинал сыпать багами - вылечилось доставанием/втыканием болванки.

Сырцы безумия - https://github.com/nekromant/ubi2pkt

★★★★★

Последнее исправление: AiFiLTr0 (всего исправлений: 7)

это чисто по приколу или есть какое-нибудь практическое применение? особенно для regeneration?)

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

Ну можно хранить бакапы. Воткнуть болванку, и закидывать туда нонстопом дампы бд. Емнип в UDF нормального wear leveling нет.
А regeneration - скорее хорошая защита от дешевых болванок, с которых данные исчезают через некоторое время.

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

UBIFS с wear leveling поверх DVD-RW?

Йеп. В теории - с CD тоже работать будет.

Зачем?

Просто так.

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

от дешевых болванок, с которых данные исчезают через некоторое время.

o_O как страшно жить

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

Кстати wear-leveling там емнип нужен. Там то ли 100к то ли 10к гарантированное количество перезаписей блока.

AiFiLTr0 ★★★★★
() автор топика
Последнее исправление: AiFiLTr0 (всего исправлений: 1)
Ответ на: комментарий от AiFiLTr0

Ну ты же не собираешься на нем /var или /home держать?

tailgunner ★★★★★
()

Черный_хлеб_и_троллейбсус.jpg

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

Ну можно хранить бакапы

Ну, в случае бекапов данные пишутся редко и большими порциями, так что ИМХО хватило бы и обычной дозаписи.

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

Ну ты знаешь, учитывая прозрачную lzo компрессию в ubifs, надо будет попробовать для бакапов.

AiFiLTr0 ★★★★★
() автор топика

Вот всем тут смешно, а потом ВНЕЗАПНО какой-нибудь мелкософт выкатит нечто подобное и будет говорить: «Представляем вам прорывную технологию! Теперь болванки можно использовать вот так благодаря нашей супер-файловой-системе DVD-FAT!».

И ведь подобное по применимости уже выкатывали - своп на флешках.

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