[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#7355: coreutils df on OSX reports wrong sizes for large filesystems
From: |
Pádraig Brady |
Subject: |
bug#7355: coreutils df on OSX reports wrong sizes for large filesystems |
Date: |
Tue, 09 Nov 2010 00:31:48 +0000 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.8) Gecko/20100227 Thunderbird/3.0.3 |
On 08/11/10 23:38, Tim Spriggs wrote:
> 2010/11/8 Pádraig Brady <address@hidden>:
>> On 08/11/10 20:37, Tim Spriggs wrote:
>>> Hello,
>>>
>>> I am running gentoo-prefix on OSX which builds coreutils. When I
>>> compare the output of the system df to the standard GNU df I get:
>>>
>>>
>>> $ /bin/df -h /data/hirise06
>>> Filesystem Size Used Avail Capacity Mounted on
>>> hiserve2:/vol/hirise06 7.9Ti 430Gi 7.5Ti 6% /data/hirise06
>>>
>>> $ df -h /data/hirise06
>>> Filesystem Size Used Avail Use% Mounted on
>>> hiserve2:/vol/hirise06
>>> 2.0T 431G -523G - /data/hirise06
>>>
>>> The 2.0T size looks suspicious to me. Maybe an integer is overflowing
>>> somewhere?
>>
>> Well 2T is between 32 bit and 64 bit.
>> If I had to guess I'd say df was using a 32 bit statfs
>> that was returning 1024 blksize?
>>
>> Could you compare the system calls made by both versions of df.
>> On GNU/Linux I can trace the statfs calls like:
>>
>> strace -v -e statfs,statfs64 df /data/hirise06
>>
>> If the trace for the above gives no output
>> for either command, then can you include the
>> full trace output.
>>
>> thanks,
>> Pádraig.
>>
>
It does look like the right functions are being called.
If you could concentrate on the calls below
(with the dtruss -t option according to google),
you might notice some differences.
> # dtruss -c -f /opt/prefix/bin/df /data/hirise06
>
>
> CALL COUNT
> fstatfs64 1
> statfs64 1
> getfsstat64 2
>
> and similarly:
>
> # dtruss -c -f /bin/df /data/hirise06
>
> CALL COUNT
> statfs64 1
> getfsstat64 2
Without an OSX box to work on, it's awkward.
cheers,
Pádraig.