Date: Fri, 2 Jun 2006 01:50:52 +0900 (JST) From: Hisamitsu Kikushima <hisamitu@uranus.dti.ne.jp> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/98478: [PATCH]For big size of file of cd9660 Message-ID: <200606011650.k51GoqWa078083@PPPa2468.tokyo-ip.dti.ne.jp> Resent-Message-ID: <200606040820.k548KHEO002904@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 98478 >Category: kern >Synopsis: [PATCH]For big size of file of cd9660 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Jun 04 08:20:16 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Hisamitsu Kikushima >Release: FreeBSD 6.1-RELEASE i386 >Organization: >Environment: System: FreeBSD PPPa2468.tokyo-ip.dti.ne.jp 6.1-RELEASE FreeBSD 6.1-RELEASE #1: Sun May 21 09:16:54 JST 2006 root@PPPa338.tokyo-ip.dti.ne.jp:/usr/obj/usr/src/sys/AKNL i386 >Description: had the file of a big size (2G byte over) can read. It is not division that tests everything though the problem doesn't occur at present in my environment. I greement 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. >How-To-Repeat: >Fix: --- isofs-64bit.diff begins here --- 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; }; --- isofs-64bit.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200606011650.k51GoqWa078083>