[sisyphus] isofs in kernel-2.4
Led
=?iso-8859-1?q?led_=CE=C1_ukr-fin=2Ecom=2Eua?=
Вт Сен 7 16:11:13 MSD 2004
Натолкнулся на неприятную фичу в ядре 2.4 (тек. Sisyphus и FedoreCore 2):
записал DVD-R (mkisofs, потом growisofs с указанием готового имиджа - до
этого так писал уже много, всё было нормально), всё вроде нормально, но при
монтировании готового диска (а потом и iso-шку монтировал - результат один)
размер файла вместо 2090М показывает несколько М всего, аналогично
неправильные размеры всех тех файлов, которые в списке (алфавитном порядке)
идут ниже указанного и, естественно, они полностью не читаются (на 12-й
консоли пишет, что mount обнаружил ошибку в ФС и переходит в режим cruft...
Посмотрел в исходниках ядра fs/isofs/inode.c - сказано, что по стандарту
размер файлов на iso9660 не может превышать 2G, под размер выделяется 32
бита, но старший бит не используется. Я понимаю, что стандарт есть стандарт,
но w2k эти файлы читаются нормально и размер показывается реальный, в
linux-2.6 тоже всё нормально (здесь в отличии от 2.4 в fs/isofs/inode.c не
делается проверка на превышения размера 0x7FFFFFFE). Тупим наскоком убрать
сию проверку в 2.4 результата я не достиг (ну не кернел-хакер я:)). Может кто
подскажет как сделать в 2.4 такое же поведение как в 2.6 или патчик/ссылку
кинет? Вроде бы мелочь, но kernel-fix-fs-isofs, думаю, и в Сизифе не помешал
бы...
Led.
Подробная информация о списке рассылки Sisyphus