cd9660 largefile fix

Csaba Henk csaba.henk at creo.hu
Wed Feb 15 08:55:27 PST 2006


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;
 };
 





More information about the Submit mailing list