[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: DVDs created with too large files



Volker Kuhlmann <hidden@paradise.net.nz> wrote:

>> so apparently at least someone looked at ISO Level 3 support. I'd 
>> say send a message to linux-kernel and see what they say about 
>> it...
>
>Yes, together with a raft of other iso9660 issues :(
>
>Perhaps mkisofs is now able to handle files >2GB, the lack of a
>suitable error when creating the filesystem does suggest so. However,
>for Linux that's a moot point as Linux doesn't handle >2GB, but mkisofs
>isn't only used on Linux. Thanks Gary for the warning about that.
>
>It should be possible to retrieve the file with isoinfo -x, which
>doesn't use any filesystem code.

This was interesting advice, or at least kept me busy for a while.
The man page for isoinfo says "The user interface really sucks."  No
worries, I figured it out with a debugger:

isoinfo -x '/SRC.TAR;1' -i /dev/dvd > src.tar.gz

Unfortunately extract_file in isoinfo.c uses signed ints for file
sizes, so has a 2GB size limit.  Files larger than this are truncated
to 0 bytes.  For this exercise I changed int to size_t, but it would
be better to use large file I/O.

I made a new DVD with a large file (the old one has been used as a coaster
already and I wasn't going to put it back in the drive) and read it back
successfully with the modified isoinfo.

This indicates that mkisofs is working OK, or at least that mkisofs and
isoinfo are consistently with each other for large files.

I found that isoinfo from cdrtools 1.11a29 could give a listing of the
correct file sizes on the DVD, but then I upgraded to 2.00.3 and the
large file came out negative sized with this version.

To test another theory, I removed the "automatic cruft" check from the
kernel and mounted the disc: the file is still truncated, so it seems that
the ISO 9660 Level 3 support is not complete.  Unfortunately I don't have
access to a DVD drive on a non-Linux machine for comparison.

Gary



Reply to: