df -kP != df -Pk

Christian S.J. Peron csjp at FreeBSD.org
Wed Sep 20 13:59:07 PDT 2006


FYI, I have taken care of this in -CURRENT

Thanks for the report!

csjp        2006-09-20 20:55:02 UTC

  FreeBSD src repository

  Modified files:
    bin/df               df.c 
  Log:
  Based on The Open Group Base Specifications Issue 6 IEEE Std 1003.1, our
  current implementation of df(1) is does not properly format the output under
  certain conditions. Right now -kP and -Pk are not the same thing. Further,
  when we set the BLOCKSIZE environment variable, we use "1k" instead of "1024",
  making the header display incorrectly.
  
  To quote the specification:
  
  "When both the -k and -P options are specified, the following header line
   shall be written (in the POSIX locale):
  
  "Filesystem 1024-blocks Used Available Capacity Mounted on\n"
  
  - If -P has been specified, check to make sure that -k has not already been
    specified, if so, simply break instead of clobbering the previous blocksize
  - Use 1024 instead of 1k to make the header POSIX compliant
  
  Reported by:    Andriy Gapon
  Discussed with: bde, ru
  MFC after:      1 week
  
  Revision  Changes    Path

  1.66      +11 -2     src/bin/df/df.c


Andriy Gapon wrote:
> on 19/09/2006 19:17 Christian S.J. Peron said the following:
>   
>> Andriy Gapon wrote:
>>     
>>> It seems that -P flag to df resets previously specified -k for no good
>>> reason. POSIX expressly talks about -P and -k being used together.
>>> http://www.opengroup.org/onlinepubs/009695399/utilities/df.html
>>>
>>> This is FreeBSD 6.1-RELEASE-p2 i386.
>>>
>>>   
>>>       
>> Please test the attached patch and let me know if it's good for you.
>>
>> Thanks for bringing this to our attention.
>>     
>
> Yes, the patch works very well. Thank you for the lightning-fast response.
>
>
>   


-- 
Christian S.J. Peron
csjp at FreeBSD.ORG
FreeBSD Committer
FreeBSD Security Team



More information about the freebsd-stable mailing list