Hi,

Sizes are stored in a signed type for the cd9660 fs, hence we can't
see >= 2G files. This is an old BSDism, and as I checked, it's been
weeded out from (or never existed in) other OSS Unices, except for
FreeBSD.

As a reference, see the appropriate NetBSD commit:

http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/fs/cd9660/cd9660_node.h?rev=1.6&content-type=text/x-cvsweb-markup

Regards,
Csaba


--- -   2006-02-15 17:47:24.231691000 +0100
+++ vfs/isofs/cd9660/cd9660_node.h      2006-02-15 14:36:36.000000000 +0100
@@ -78,10 +78,10 @@ struct iso_node {
        doff_t  i_offset;       /* offset of free space in directory */
        ino_t   i_ino;          /* inode number of found directory */
 
-       long iso_extent;        /* extent of file */
-       long i_size;
-       long iso_start;         /* actual start of data of file (may be 
different */
-                               /* from iso_extent, if file has extended 
attributes) */
+       unsigned long iso_extent;       /* extent of file */
+       unsigned long i_size;
+       unsigned long iso_start;        /* actual start of data of file (may be 
different */
+                                       /* from iso_extent, if file has 
extended attributes) */
        ISO_RRIP_INODE  inode;
 };
 

Reply via email to