lkml.org 
[lkml]   [2004]   [Feb]   [4]   [last100]   RSS Feed
Views: [more markup]   [less markup]   [headers]   [forward]  
 
Messages in this thread
/
DateWed, 4 Feb 2004 09:51:57 +0100
FromEduard Bloch <>
SubjectRe: Q: large files in iso9660 ?
#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
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:00    [W:0.485 / U:0.170 seconds]
©2003-2008 Jasper Spaans