Subject: Re: bug#17838: ls: unit displayed for block size when if size is displayed in human-readable format

From: Pádraig Brady <[email-masked]>
Date: Mon, 23 Jun 2014 17:56:10 +0100

On 06/23/2014 05:47 PM, Michal Sekletar wrote:
> On Mon, Jun 23, 2014 at 05:14:29PM +0100, Pádraig Brady wrote:
>> On 06/23/2014 12:17 PM, Michal Sekletar wrote:
>>> Hi,
>>>
>>> ls utility currently displays suffix representing unit in blocks column if
>>> --size is combined with --human-readable. For example:
>>>
>>> $ ls -l -sh /tmp/foo
>>> 4.0K -rw-r--r--. 1 root root 6 Jun 23 11:32 foo
>>>
>>> Suffix K in the output shown doesn't seem correct and implies false information.
>>> Moreover if size of file is bigger say 1M then suffix used for blocks column
>>> would be M. Looks like if file is small enough and no suffix is shown in size
>>> column then suffix K is implied for # blocks column.
>>>
>>> $ rpm -q coreutils
>>> coreutils-8.22-14.fc21.x86_64
>>>
>>> I contacted downstream maintainer first and this behavior shouldn't be caused by
>>> downstream patch, therefore reporting here.
>>>
>>> Please disregard this report if this is expected or bug is already reported.
>>
>> Sorry I'm not seeing the ambiguity.
>> What wrong with displaying 4.0K here for the disk usage, or 4M, or 512 etc?
> 
>>>From man page:
> 
> -s, --size
>     print the allocated size of each file, in blocks
> 
> I assume that first column in example output should be # blocks rather than
> allocated size, therefore I doubt that file which is 6 bytes in size occupies
> 4.0K == 4000 blocks.

OK the info docs are clear enough, stating that -h is the same as
--block-size=human-readable etc. We might be able to tweak the
--help (man page) for the -s and/or -h options accordingly also.

thanks,
Pádraig.