Bob Billing wrote:
It seems that you are hitting a limitation of ISO-9660 implementation in the kernel. Quoted from linux/fs/isofs/inode.c:I spent a few frustrating hours yesterday turning DVD+R blanks into coasters before I realised that there seems to be a deep problem with the whole DVD mechanism. Since this seems to be a bug in the philosophy of the system, rather than any specific module, I hope I can raise it safely here.
My root partition on this system contains about 6.2G of files. This includes things like the entire Hubble sky survey and the complete Ordnance Survey map database for the UK. Backing it up as a bzipped tar file gave me 2165096516 bytes of data. This is just over 2G - in fact it is hex 810CC044. I then burned this on DVD with growisofs.
When I mounted the resulting DVD the file had shrunk to 835652 bytes. This is in fact 000CC044. The "cruft" option had cut in and removed the high byte of the file length.
Now this is the problem: Is mkisofs/growisofs right to allow a file over 2G, and mount is wrong? Or is mount right, the top bit of the file length should never be set and mkisofs should have rejected it?
/*
* The ISO-9660 filesystem only stores 32 bits for file size.
* mkisofs handles files up to 2GB-2 = 2147483646 = 0x7FFFFFFE bytes
* in size. This is according to the large file summit paper from 1996.
* WARNING: ISO-9660 filesystems > 1 GB and even > 2 GB are fully
* legal. Do not prevent to use DVD's schilling@xxxxxxxxxxxx
*/
The fact that no error is returned by mkisofs seems to suggest that this limitation is not present in mkisofs. Furthermore, if you inspect your cd with isoinfo, you're likely to find out that the file size is reported correctly.
Either way it seems that as a DVD is longer than 4G there is no way, within the standard, of burning a DVD that contains a single 4.7G file.
So should I: 1) Report a bug in mkisofs?
As I previously said, mkisofs may be doing the right thing. No point in bugging them :-)
2) Report a bug in mount?
"mount" doesn't have any thing to do with your problem.
3) Develop a workaround (I already have one)?
You can burn directly your tar file to the DVD and subsequently read it with "tar xjvf /dev/cdrom"
4) Use a different filesystem?
If you are only using linux you could do away with ext2fs. UDF (created with mkudffs) might work too althought I haven't tested it my self.
Cheers, Charles