summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkientzle <kientzle@FreeBSD.org>2006-12-08 07:43:53 +0000
committerkientzle <kientzle@FreeBSD.org>2006-12-08 07:43:53 +0000
commit86c1b9785705552d1437963f2fbe999c28c18720 (patch)
treee7b3674ebba13cfc6efade10fa0eb076ff7e8a59
parentdd35a61767f18a95a7b9381850750ca034a944ed (diff)
downloadFreeBSD-src-86c1b9785705552d1437963f2fbe999c28c18720.zip
FreeBSD-src-86c1b9785705552d1437963f2fbe999c28c18720.tar.gz
The ISO9660 spec does allow files up to 4G. Change the i_size
field to "unsigned long" so that it actually works. Thanks to Robert Sciuk for sending me a DVD that demonstrated ISO9660-formatted media with a file >2G. I've now fixed this both in libarchive and in the cd9660 filesystem. MFC after: 14 days
-rw-r--r--sys/fs/cd9660/cd9660_node.h2
-rw-r--r--sys/isofs/cd9660/cd9660_node.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/fs/cd9660/cd9660_node.h b/sys/fs/cd9660/cd9660_node.h
index a362dc1..a0eb135 100644
--- a/sys/fs/cd9660/cd9660_node.h
+++ b/sys/fs/cd9660/cd9660_node.h
@@ -69,7 +69,7 @@ struct iso_node {
ino_t i_ino; /* inode number of found directory */
long iso_extent; /* extent of file */
- long i_size;
+ unsigned long i_size;
long iso_start; /* actual start of data of file (may be different */
/* from iso_extent, if file has extended attributes) */
ISO_RRIP_INODE inode;
diff --git a/sys/isofs/cd9660/cd9660_node.h b/sys/isofs/cd9660/cd9660_node.h
index a362dc1..a0eb135 100644
--- a/sys/isofs/cd9660/cd9660_node.h
+++ b/sys/isofs/cd9660/cd9660_node.h
@@ -69,7 +69,7 @@ struct iso_node {
ino_t i_ino; /* inode number of found directory */
long iso_extent; /* extent of file */
- long i_size;
+ unsigned long i_size;
long iso_start; /* actual start of data of file (may be different */
/* from iso_extent, if file has extended attributes) */
ISO_RRIP_INODE inode;
OpenPOWER on IntegriCloud