[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