Я пишу файлы в DVD с growisofs один раз в день. Каждый раз, когда я добавляю к DVD, я должен извлечь DVD и затем перезагрузить DVD для наблюдения файла, который я просто записал. Я использую RHEL 5.0 и инициализировать пустой DVD, я использую команду:
growisofs -Z /dev/dvd -rJ -use-the-force-luke=notray file1
который запишет file1 в DVD. Затем, я попытаюсь записать file2 в DVD (не извлекая промежуточный DVD) с командой:
growisofs -M /dev/dvd -rJ -use-the-force-luke=notray file2
и это перестанет работать с ошибкой:
"/usr/bin/mkisofs: Недействительный аргумент. Ищите ошибку на старом изображении
: - (mkisofs перестал работать: 22 дюйма
Если я извлеку и затем попробую growisofs-M команда снова, то это успешно запишет file2, но если я пытаюсь записать, что file3, file3 перестанет работать с той же ошибкой.
Я не забываю читать некоторых, где (возможно, была страница справочника), что промежуточные сессии записи Вам, возможно, придется извлечь и перезагрузить DVD, однако, у меня не было этой проблемы с non-Blue-Ray совместимыми дисками.
Даже если это - проблема с дисками Синего Луча, которые я пробовал, там способ моделировать извлечение, на самом деле не извлекая диск? Или некоторый другой способ работать вокруг этого, не имея необходимость физически извлекать DVD? Я не могу сделать извлечения-T, потому что это - диск ноутбука, таким образом, диск не может закрыться под его собственным питанием.
Любая справка или идеи значительно ценились бы. Я посмотрел на команды ioctl, такие как:
ioctl(file_descriptor, CDROMSTART)
ioctl(file_descriptor, CDROMSTOP)
но я не посмотрел на многие другие команды или нашел команду, которая решает мою проблему... все же
Спасибо.
Извлечение требуется некоторыми дисками - оно вынуждает их перечитать содержание диска после того, как сессия записи изменила то содержание. Это - аппаратная вещь, так для фальсифицирования его необходимо было бы убедить диск, что это только что загрузило новый медиа-контент и должно выполнить его начальное сканирование этого новые медиа.
Я не знаю, возможно ли это через стандартный IOCTLs - я ожидал бы, что необходимо было бы взломать встроенное микропрограммное обеспечение диска (и возможно добавить собственный специальный IOCTL к коду драйвера) сделать это.