* 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