LINUX.ORG.RU

DVD+RW: произвольный доступ


0

0

Интересует произвольный доступ к DVD+RW. Ядро 2.6.14.3, udftools-1.0.0b3, привод NEC ND-4570A. Понятно, что теоретически можно использовать любую ФС, но всегда сталкиваюсь с одними и теми-же ошибками. Делаю:

# mkudffs /dev/hdc # mount -t udf -o rw,noatime /dev/hdc /mnt/dvd

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

Пока приходится для резервного копирования использовать growisofs, но всё же произвольный доступ к диску гораздо удобнее. Есть у кого-нибудь положительный опыт в этом направлении? Или пока это невозможно?


Положительного опыта нету, медленно и что-то быстро болванки убивает, хотя делал как по инструкции. Три штуки убил дальше экспериментировать не стал. Я думаю, что это точно не для backup'а.

timur_dav ☆☆☆☆☆
()

во-первых, судя по mount -t udf -o rw,noatime /dev/hdc /mnt/dvd монтируется вовсе не пакетное устройство /dev/pcktcdvd0 Во-вторых - ядро для этого желательно поновее. http://gentoo-wiki.com/HOWTO_Packet_Writing_on_CD-RW

Хотя да, надежность этого дела явно низка.

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

> Положительного опыта нету, медленно и что-то быстро болванки убивает [...]

По ссылке, которую дал в оригинальном посте, прочитал, что необходимо монтировать с опцией noatime, чтобы при каждом чтении файла не обновлялось время доступа к нему. Болванки поддерживают 1000 перезаписей, и этот лимит на самом деле очень быстро достигается при обычном чтении. Но это ещё не всё: при каждом монтировании обновляеются данные в суперблоках, так что необходимо ещё и монтировать readonly (на счёт UDF не уверен).

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

> Есть у кого-нибудь положительный опыт в этом направлении? Или пока это невозможно?

в мандриве 2006 из коробки работает, правда болванку не пробовал форматировать средствами дистрибутива (отформатирована была через incd в виндах)

Reset ★★★★★
()

Пробовал делать такую операцию на резаке benq, результаты - аналогичные (ошибки даже на этапе создания ФС + быстрая смерть болванки). Причём при записи он себя ведёт тоже странно: постоянно то разгоняет, то тормозит диск, при том что пишется один большой файл. Насколько я понимаю, проблема тут в том, что на dvd физические сектора (запись которых происходит атомарно) имеют размер 32к, а логические (которые видны со стороны ядра) имеют размер 2к (как на обычных cd). Ядро даёт данные резаку блоками по 2к, и если эти блоки идут не подряд, и в резаке не реализован нормальный планировщик записи, то он не находит ничего лучше как считывать каждый 32к сектор, изменять в нём нужные 2к и записывать результат обратно. Тут, по идее, должно помочь использование блоков по 32к, но udf таких больших вроде не поддерживает...

Заметил ещё одну такую особенность (об этом также что-то на сайте создателя dvd+rw-tools написано): если у новой болванки форматирование не завершено, то при попытках произвольной записи по всему диску возникают конфликты "внутри резака" между процессом фонового форматирования и записи. Из-за этого не удаётся даже создать файловую систему на свежеотформатированой болванке. Лечится это в принципе просто - `dd if=/dev/zero of=/dev/dvd bs=32K` - такая операция заставит в обязательном порядке завершить фоновое форматирование. У меня после этого ошибки при создании ФС вроде исчезли, даже файлы на неё писаться начали более-менее...

Видимо, всё-таки прозводители dvd-резаков немного кладут на спецификации dvd+rw, которые требуют полноценных произвольный доступ с шагом 2к...

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

Да уж, наверное проще и надёжнее использовать growisofs. Спасибо всем.

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