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

From: Michal Sekletar <[email-masked]>
Date: Mon, 23 Jun 2014 18:47:14 +0200

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.

> thanks,
> Pádraig.

Michal