BigDisk project: du(1) 64bit clean.
Brooks Davis
brooks at one-eyed-alien.net
Tue Jan 4 19:03:01 PST 2005
On Tue, Jan 04, 2005 at 11:40:43PM +0100, Pawel Jakub Dawidek wrote:
> 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.
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
--
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20050104/eeb4bf3b/attachment.bin
More information about the freebsd-arch
mailing list