Skip site navigation (1)Skip section navigation (2)
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>