Date: Tue, 4 Jan 2005 23:40:43 +0100 From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: arch@freebsd.org Cc: scottl@freebsd.org Subject: BigDisk project: du(1) 64bit clean. Message-ID: <20050104224043.GM784@darkness.comp.waw.pl>
next in thread | raw e-mail | index | archive | help
--Z1OTrj3C7qypP14j Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi. I want you to look at two patches which makes du(1) 64bit clean. This work is part of the BigDisk project: http://www.freebsd.org/projects/bigdisk/ 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). So first of all, we need this patch: http://people.freebsd.org/~pjd/patches/fts.h.patch 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. Patch for du(1) is here: http://people.freebsd.org/~pjd/patches/du-64bit-clean.patch 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. --=20 Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --Z1OTrj3C7qypP14j Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFB2xtrForvXbEpPzQRAlAAAKCex0u69e6lWz3SwIrZFG/eINDBhwCg4Jo7 HEAbpGuTwXdsbdqhHB+5Jn0= =aM1R -----END PGP SIGNATURE----- --Z1OTrj3C7qypP14j--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050104224043.GM784>