From owner-cvs-sys Mon Nov 24 08:37:33 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id IAA13662 for cvs-sys-outgoing; Mon, 24 Nov 1997 08:37:33 -0800 (PST) (envelope-from owner-cvs-sys) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id IAA13418; Mon, 24 Nov 1997 08:33:47 -0800 (PST) (envelope-from bde@FreeBSD.org) From: Bruce Evans Received: (from bde@localhost) by freefall.freebsd.org (8.8.6/8.8.5) id IAA21767; Mon, 24 Nov 1997 08:33:05 -0800 (PST) Date: Mon, 24 Nov 1997 08:33:05 -0800 (PST) Message-Id: <199711241633.IAA21767@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-sys@FreeBSD.ORG Subject: cvs commit: src/sys/ufs/ufs ufs_bmap.c Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk bde 1997/11/24 08:33:04 PST Modified files: sys/ufs/ufs ufs_bmap.c Log: Fixed overflow in ufs_getblns(). For ufs on systems with 32-bit ints, triple indirect blocks only worked for block sizes of 4K, since MNINDIR(ump)**3 overflows for larger block sizes (e.g., (8192/4)**3 = 2**33 > INT_MAX). This fix is not the obvious one of changing some types to 64 bits. It rearranges the code to avoid some unnecessary 64-bit calculations. Reviewed by: Kirk McKusick Revision Changes Path 1.17 +14 -7 src/sys/ufs/ufs/ufs_bmap.c