| Summary: | For big file size of cd9660 | ||
|---|---|---|---|
| Product: | Base System | Reporter: | hisamitu |
| Component: | kern | Assignee: | freebsd-bugs (Nobody) <bugs> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 6.1-RELEASE | ||
| Hardware: | Any | ||
| OS: | Any | ||
State Changed From-To: open->closed Duplicate of kern/98477. |
I had the file of big size (2G byte over) can read. At present, the problem doesn't occur in my environment. However, it is not division that tests everything. The agreement of cd9660 to the standard is not investigated. However, I thought that there is especially no problem because it is only reading. I changed to the source of 6.1-RELEASE. diff -crN src/sys/isofs/cd9660/cd9660_node.h src-edit/sys/isofs/cd9660/cd9660_node.h *** src/sys/isofs/cd9660/cd9660_node.h Wed Mar 16 17:09:52 2005 --- src-edit/sys/isofs/cd9660/cd9660_node.h Sun May 21 10:37:33 2006 *************** *** 42,48 **** * lookup on a 32-bit machine. If you are porting to a 64-bit * architecture, you should make doff_t the same as off_t. */ ! #define doff_t long typedef struct { struct timespec iso_atime; /* time of last access */ --- 42,49 ---- * lookup on a 32-bit machine. If you are porting to a 64-bit * architecture, you should make doff_t the same as off_t. */ ! typedef long long doff_t; ! typedef long long isize_t; typedef struct { struct timespec iso_atime; /* time of last access */ *************** *** 68,76 **** 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) */ ISO_RRIP_INODE inode; }; --- 69,77 ---- doff_t i_offset; /* offset of free space in directory */ ino_t i_ino; /* inode number of found directory */ ! isize_t iso_extent; /* extent of file */ ! isize_t i_size; ! isize_t iso_start; /* actual start of data of file (may be different */ /* from iso_extent, if file has extended attributes) */ ISO_RRIP_INODE inode; }; How-To-Repeat: none.