From owner-freebsd-arch@FreeBSD.ORG Wed Jan 5 03:03:01 2005 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2BA7F16A4CE; Wed, 5 Jan 2005 03:03:01 +0000 (GMT) Received: from odin.ac.hmc.edu (Odin.AC.HMC.Edu [134.173.32.75]) by mx1.FreeBSD.org (Postfix) with ESMTP id C765543D1F; Wed, 5 Jan 2005 03:03:00 +0000 (GMT) (envelope-from brdavis@odin.ac.hmc.edu) Received: from odin.ac.hmc.edu (localhost.localdomain [127.0.0.1]) by odin.ac.hmc.edu (8.13.0/8.13.0) with ESMTP id j0534QTD026367; Tue, 4 Jan 2005 19:04:26 -0800 Received: (from brdavis@localhost) by odin.ac.hmc.edu (8.13.0/8.13.0/Submit) id j0534QU6026366; Tue, 4 Jan 2005 19:04:26 -0800 Date: Tue, 4 Jan 2005 19:04:26 -0800 From: Brooks Davis To: Pawel Jakub Dawidek Message-ID: <20050105030426.GB24604@odin.ac.hmc.edu> References: <20050104224043.GM784@darkness.comp.waw.pl> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="aVD9QWMuhilNxW9f" Content-Disposition: inline In-Reply-To: <20050104224043.GM784@darkness.comp.waw.pl> User-Agent: Mutt/1.4.1i X-Virus-Scanned: by amavisd-new X-Spam-Status: No, hits=0.0 required=8.0 tests=none autolearn=no version=2.63 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on odin.ac.hmc.edu cc: arch@freebsd.org cc: scottl@freebsd.org Subject: Re: BigDisk project: du(1) 64bit clean. X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Jan 2005 03:03:01 -0000 --aVD9QWMuhilNxW9f Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jan 04, 2005 at 11:40:43PM +0100, Pawel Jakub Dawidek wrote: > Hi. >=20 > I want you to look at two patches which makes du(1) 64bit clean. > This work is part of the BigDisk project: >=20 > http://www.freebsd.org/projects/bigdisk/ >=20 > The main problem here is that du(1) uses fts(3) and fts_number field from > one of its structures to store size. > This field is defined as 'long' so it doesn't give us what we want > (on 32bit archs). >=20 > So first of all, we need this patch: >=20 > http://people.freebsd.org/~pjd/patches/fts.h.patch >=20 > It adds 64bit fts_bignum field, but because it is hiden under union, > it doesn't break ABI. It also doesn't break API, thanks to #defines. >=20 > Patch for du(1) is here: >=20 > http://people.freebsd.org/~pjd/patches/du-64bit-clean.patch >=20 > We should decide if we want fts.h.patch also in HEAD or only in RELENG_5, > because we can make it much cleaner in HEAD, but we will break ABI > (API should be quite ok) - we need to change size of fts_number field. I'd be inclined to use the somewhat gross fix in PR 74567 in RELENG_5 and do it right in HEAD. bde suggested changing fts_num to intmax_t. -- Brooks --=20 Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 --aVD9QWMuhilNxW9f Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFB21k6XY6L6fI4GtQRAjaZAJ9tniH3xspI4bx/8mJt6YABLOvXoACghYHi 1Rt4YC2eV0zvBt5S/PYCBdg= =vYru -----END PGP SIGNATURE----- --aVD9QWMuhilNxW9f--