* Q: large files in iso9660 ? @ 2004-02-01 22:24 P. Christeas 2004-02-03 13:35 ` Erik Mouw 0 siblings, 1 reply; 5+ messages in thread From: P. Christeas @ 2004-02-01 22:24 UTC (permalink / raw) To: lkml; +Cc: viro Hi, I've tried to create a disk (DVD) which contains a single 3.8GB file. The creation (mkisofs) worked and the disk's TOC reads 3.8GB. However, the filesystem reads as if one ~9MB file only exists. I guess large files in isofs may be out of spec. Q: What's the file size limit in iso9660? Q: Is there any chance the negative number (although out of spec) may be correctly interpreted (mount option) ? Thanks. FYI: isoinfo -d -i /dev/cdrom CD-ROM is in ISO 9660 format System id: LINUX Volume id: CDROM Volume set id: Publisher id: Data preparer id: Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING Copyright File id: Abstract File id: Bibliographic File id: Volume set size is: 1 Volume set seqence number is: 1 Logical block size is: 2048 Volume size is: 1987287 Joliet with UCS level 3 found Rock Ridge signatures version 1 found isoinfo -l -i /dev/cdrom Directory listing of / d--------- 0 0 0 2048 Jan 31 2004 [ 28] . d--------- 0 0 0 2048 Jan 31 2004 [ 28] .. ---------- 0 0 0 -225376141 Jan 31 2004 [ 31] WIN_C.TGZ;1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Q: large files in iso9660 ? 2004-02-01 22:24 Q: large files in iso9660 ? P. Christeas @ 2004-02-03 13:35 ` Erik Mouw 2004-02-03 21:10 ` P. Christeas 2004-02-04 8:51 ` Eduard Bloch 0 siblings, 2 replies; 5+ messages in thread From: Erik Mouw @ 2004-02-03 13:35 UTC (permalink / raw) To: P. Christeas; +Cc: lkml, viro On Mon, Feb 02, 2004 at 12:24:31AM +0200, P. Christeas wrote: > I've tried to create a disk (DVD) which contains a single 3.8GB file. The > creation (mkisofs) worked and the disk's TOC reads 3.8GB. No, it didn't. Last time I tried mkisofs warned about files being larger than 2GB. Feel free to ignore the warnings, though. > However, the > filesystem reads as if one ~9MB file only exists. > I guess large files in isofs may be out of spec. > > Q: What's the file size limit in iso9660? About 2GB. > Q: Is there any chance the negative number (although out of spec) may be > correctly interpreted (mount option) ? The kernel (2.6 and 2.4) has the following code in isofs_read_inode(): /* * 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@fokus.gmd.de */ if ((inode->i_size < 0 || inode->i_size > 0x7FFFFFFE) && sbi->s_cruft == 'n') { printk(KERN_WARNING "Warning: defective CD-ROM. " "Enabling \"cruft\" mount option.\n"); sbi->s_cruft = 'y'; } IOW: your kernel should have warned you about the defective CDROM and truncated filesizes to 16MB (which is what the "cruft" mount option does). Erik -- +-- Erik Mouw -- www.harddisk-recovery.com -- +31 70 370 12 90 -- | Lab address: Delftechpark 26, 2628 XH, Delft, The Netherlands ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Q: large files in iso9660 ? 2004-02-03 13:35 ` Erik Mouw @ 2004-02-03 21:10 ` P. Christeas 2004-02-04 7:43 ` Vladimir Saveliev 2004-02-04 8:51 ` Eduard Bloch 1 sibling, 1 reply; 5+ messages in thread From: P. Christeas @ 2004-02-03 21:10 UTC (permalink / raw) To: Erik Mouw; +Cc: lkml > > The kernel (2.6 and 2.4) has the following code in isofs_read_inode(): > > /* > * 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@fokus.gmd.de */ > if ((inode->i_size < 0 || inode->i_size > 0x7FFFFFFE) && > sbi->s_cruft == 'n') { > printk(KERN_WARNING "Warning: defective CD-ROM. " > "Enabling \"cruft\" mount option.\n"); > sbi->s_cruft = 'y'; > } > > IOW: your kernel should have warned you about the defective CDROM and > truncated filesizes to 16MB (which is what the "cruft" mount option > does). > > > Erik Makes perfect sense. However, this *does* enforce the limit on DVD files. If I try to disable this code and make inode sizes uint32, can there be any other negative implication? Of course, I am still limited to 3GB.. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Q: large files in iso9660 ? 2004-02-03 21:10 ` P. Christeas @ 2004-02-04 7:43 ` Vladimir Saveliev 0 siblings, 0 replies; 5+ messages in thread From: Vladimir Saveliev @ 2004-02-04 7:43 UTC (permalink / raw) To: P. Christeas; +Cc: Erik Mouw, lkml Hello On Wed, 2004-02-04 at 00:10, P. Christeas wrote: > > > > The kernel (2.6 and 2.4) has the following code in isofs_read_inode(): > > > > /* > > * 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@fokus.gmd.de */ > > if ((inode->i_size < 0 || inode->i_size > 0x7FFFFFFE) && > > sbi->s_cruft == 'n') { > > printk(KERN_WARNING "Warning: defective CD-ROM. " > > "Enabling \"cruft\" mount option.\n"); > > sbi->s_cruft = 'y'; > > } > > > > IOW: your kernel should have warned you about the defective CDROM and > > truncated filesizes to 16MB (which is what the "cruft" mount option > > does). > > > > > > Erik > > Makes perfect sense. > However, this *does* enforce the limit on DVD files. If I try to disable this > code and make inode sizes uint32, can there be any other negative > implication? Of course, I am still limited to 3GB.. IIRC, mkisofs can create HFS. There should be no problem with that long files > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Q: large files in iso9660 ? 2004-02-03 13:35 ` Erik Mouw 2004-02-03 21:10 ` P. Christeas @ 2004-02-04 8:51 ` Eduard Bloch 1 sibling, 0 replies; 5+ messages in thread From: Eduard Bloch @ 2004-02-04 8:51 UTC (permalink / raw) To: Erik Mouw; +Cc: P. Christeas, lkml, viro #include <hallo.h> * Erik Mouw [Tue, Feb 03 2004, 02:35:51PM]: > On Mon, Feb 02, 2004 at 12:24:31AM +0200, P. Christeas wrote: > > I've tried to create a disk (DVD) which contains a single 3.8GB file. The > > creation (mkisofs) worked and the disk's TOC reads 3.8GB. > > No, it didn't. Last time I tried mkisofs warned about files being > larger than 2GB. Feel free to ignore the warnings, though. No, normal mkisofs does not warn, are you sure that your distributor did not patch it? > > However, the > > filesystem reads as if one ~9MB file only exists. > > I guess large files in isofs may be out of spec. > > > > Q: What's the file size limit in iso9660? > > About 2GB. Really? Quoting Joerg Schilling: | >#include <hallo.h> | >* christophe nowicki [Thu, Jan 22 2004, 01:22:34PM]: | | >> #mount -t iso9660 -o loop burn.iso /mnt | >> $ls -sh /mnt | >> total 4.0M | >> 4.0M test | >> ^ all my data are lost ! | >>=20 | >> During the creation process mkisofs did not make a warning ... | | Definitely wrong (even for the outdated 2.0 version)! | | .... see log below: | | mkdir LD | cd LD | mkfile -n 5g 5g | cd .. | /opt/schily/bin/mkisofs -o /tmp/0a LD | /opt/schily/bin/mkisofs: Value too large for defined data type. File LD/5g is too large - ignoring | Total translation table size: 0 | Total rockridge attributes bytes: 0 | Total directory bytes: 0 | Path table size(bytes): 10 | Max brk space used 8000 | 48 extents written (0 Mb) | | | >Reproducible for me. IMHO it is not only the iso9660 filesize limit, | >since Joliet should support larger files. | | Definitely wrong too: Joliet is a half hearted hack on ISO-9660. | If you like to have large files in ISO-9660 (and/or Joliet!), you would need | multi extent file support. | | In order to implement this, you need an OS to test with.... | | Solaris has no multi extent file support | | Linux fails with several other problems in the vicinity of large files on | ISO-9660 and in such a case auto activates evil mount options that prevents | you from using such media. | | | Jörg > The kernel (2.6 and 2.4) has the following code in isofs_read_inode(): > > /* > * 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@fokus.gmd.de > */ Interesting, what should be "multiple extents" then? > if ((inode->i_size < 0 || inode->i_size > 0x7FFFFFFE) && > sbi->s_cruft == 'n') { > printk(KERN_WARNING "Warning: defective CD-ROM. " > "Enabling \"cruft\" mount option.\n"); I have never seen this warning on mounting "defective" filesystems. Regards, Eduard. -- Man weist ein Lob zurück in dem Wunsch, nochmals gelobt zu werden. -- François de La Rochefoucauld ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2004-02-04 8:52 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-02-01 22:24 Q: large files in iso9660 ? P. Christeas 2004-02-03 13:35 ` Erik Mouw 2004-02-03 21:10 ` P. Christeas 2004-02-04 7:43 ` Vladimir Saveliev 2004-02-04 8:51 ` Eduard Bloch
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox