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